SQLServer跨库查询实现方法
2023-06-13 09:14:33 时间
本文给出一条SQL语句用于展示在同一名服务器上,不同的数据库间查询,注意当前连接用户要对两个库都有权限
SQLServer中SQL语句中对象的完整表达式是:
[DatabaseServer].[DatabaseName].[DatabaseSchema].[DatabaseObject]
本文给出一条SQL语句用于展示在同一名服务器上,不同的数据库间查询,注意当前连接用户要对两个库都有权限。
复制代码代码如下:
SQLServer中SQL语句中对象的完整表达式是:
[DatabaseServer].[DatabaseName].[DatabaseSchema].[DatabaseObject]
本文给出一条SQL语句用于展示在同一名服务器上,不同的数据库间查询,注意当前连接用户要对两个库都有权限。
select*
fromCfteaDb1.dbo.CfteaTable1innerjoinCfteaDb2.dbo.CfteaTable2
onCfteaDb1.dbo.CfteaTable1.Id=CfteaDb2.dbo.CfteaTable2.Id
以上在SQLServer2008R2的ManagementStudio中测试成功。
下面是一些补充资料
不使用链接的服务器名,而提供特殊的连接信息,并将其作为四部分对象名的一部分。
语法
OPENDATASOURCE(provider_name,init_string)
参数
provider_name
注册为用于访问数据源的OLEDB提供程序的PROGID的名称。provider_name的数据类型为char,没有默认值。
init_string
连接字符串,这些字符串将要传递给目标提供程序的IDataInitialize接口。提供程序字符串语法是以关键字值对为基础的,这些关键字值对由分号隔开,例如:"keyword1=value;keyword2=value."
在Microsoft®DataAccessSDK中定义了基本语法。有关所支持的特定关键字值对的信息,请参见提供程序中的文档。下表列出init_string参数中最常用的关键字。
注释
OPENDATASOURCE函数可以在能够使用链接服务器名的相同Transact-SQL语法位置中使用。因此,就可以将OPENDATASOURCE用作四部分名称的第一部分,该名称指的是SELECT、INSERT、UPDATE或DELETE语句中的表或视图的名称;或者指的是EXECUTE语句中的远程存储过程。当执行远程存储过程时,OPENDATASOURCE应该指的是另一个SQLServer。OPENDATASOURCE不接受参数变量。
与OPENROWSET函数类似,OPENDATASOURCE应该只引用那些不经常访问的OLEDB数据源。对于访问次数稍多的任何数据源,请为它们定义链接的服务器。无论OPENDATASOURCE还是OPENROWSET都不能提供链接的服务器定义的全部功能,例如,安全管理以及查询目录信息的能力。每次调用OPENDATASOURCE时,都必须提供所有的连接信息(包括密码)。
示例
下面的示例访问来自某个表的数据,该表在SQLServer的另一个实例中。
SELECT*
FROMOPENDATASOURCE(
"SQLOLEDB",
"DataSource=ServerName;UserID=MyUID;Password=MyPass"
).Northwind.dbo.Categories
下面是个查询的示例,它通过用于Jet的OLEDB提供程序查询Excel电子表格。
SELECT*
FROMOpenDataSource("Microsoft.Jet.OLEDB.4.0",
"DataSource="c:\Finance\account.xls";UserID=Admin;Password=;Extendedproperties=Excel5.0")...xactions
相关文章
- 使用SQLServer客户端工具轻松实现数据库管理(sqlserver客户端工具)
- 数据库中登录SQLServer:实现有效保护数据安全(登录sqlserver)
- 从图片存入SQLServer:一步一步实现!(图片存sqlserver)
- 力控结合SQLServer拓展网络应用(力控与sqlserver)
- 性能优化SQLServer性能:管理员的代理之路(代理sqlserver)
- VB程序设计与SQLServer数据库集成实现(vb sqlserver)
- 在阿里云上架设SQLServer的建议(sqlserver阿里云)
- 如何运用SQLserver镜像库获取数据副本(sqlserver镜像库)
- 利用SQLServer技术提升职业能力——郝斌的进阶之行(sqlserver 郝斌)
- SQLServer在行业中的评价探讨(sqlserver评价)
- 内容深入探索:SQLServer 中表的所有内容(sqlserver表所有)
- 解决SQLServer表丢失的简易方法(sqlserver表丢失)
- SQL Server实现行列转换的简单方法(sqlserver行并列)
- 数据库SQLServer:经济又高效的投资(sqlserver花费)
- 使用SQLServer实现短信发送功能(sqlserver短信)
- SQLServer监测:实现卓越服务的标准(sqlserver监测)
- 用SQLServer实现出色的数据可视化图表(sqlserver画图)
- 字符SQLServer实现字符串截取的技巧(sqlserver 截取)
- 入数据SQL Server下快速导入数据的方法(sqlserver导)
- SqlServer下的多叉树结构实现(sqlserver多叉树)
- SQLserver中勾选框的使用方法(sqlserver复选框)
- 数SQLServer中实现随机数生成的方法(sqlserver取随机)
- SQLServer取序号的方法探究(sqlserver取序号)
- 妙用SQLServer:五步快速实现字符串分割(sqlserver 分割)
- 实现数据安全的实现方法利用SQL Server提升数据安全性的实践(sqlserver中可以)
- sqlserver中实现一对多关系的方法研究(sqlserver一对多)
- PB程序配合SQLServer助力实现数据处理能力的提升(pb与sqlserver)
- 解决SQLServer数据库损坏灾难:恢复数据库(sqlserver数据库恢复)
- 迷你版SQLServer:极致精致的数据库体验(迷你版sqlserver)
- sqlserver多行数据拼接的实例方法