mssql跨服务器查询的实现(转载)
2006-12-01 10:52
253 查看
EXEC sp_addlinkedserver
'Payroll',
'',
'MSDASQL',
NULL,
NULL,
'DRIVER={SQL Server};SERVER=202.103.*.*;UID=sa;PWD=不告诉你,呵呵~;'
GO
然后可以用调用查询了。
window.attachEvent("onload",function (){AutoSizeDIV('CODE_2349')})
SET IDENTITY_INSERT database.dbo.tablel on
insert into database.dbo.tablel(id,shop_name) select * from Payroll.database.dbo.table where user_id=27911
SET IDENTITY_INSERTdatabase.dbo.tablel off
完成操作。
以下是MSSQL联机丛书里关于 sp_addlinkedserver 的说明:
引用内容:
sp_addlinkedserver
创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问。在使用 sp_addlinkedserver 创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为 Microsoft® SQL Server™,则可执行远程存储过程。
语法
sp_addlinkedserver [ @server = ] 'server'
[ , [ @srvproduct = ] 'product_name' ]
[ , [ @provider = ] 'provider_name' ]
[ , [ @datasrc = ] 'data_source' ]
[ , [ @location = ] 'location' ]
[ , [ @provstr = ] 'provider_string' ]
[ , [ @catalog = ] 'catalog' ]
参数
[ @server = ] 'server'
要创建的链接服务器的本地名称,server 的数据类型为 sysname,没有默认设置。
如果有多个 SQL Server 实例,server 可以为 servername/instancename。此链接的服务器可能会被引用为下面示例的数据源:
SELECT *FROM [servername/instancename.]pubs.dbo.authors.
如果未指定 data_source,则服务器为该实例的实际名称。
[ @srvproduct = ] 'product_name'
要添加为链接服务器的 OLE DB 数据源的产品名称。product_name 的数据类型为 nvarchar(128),默认设置为 NULL。如果是 SQL Server,则不需要指定 provider_name、data_source、location、provider_string 以及目录。
[ @provider = ] 'provider_name'
与此数据源相对应的 OLE DB 提供程序的唯一程序标识符 (PROGID)。provider_name 对于安装在当前计算机上指定的 OLE DB 提供程序必须是唯一的。provider_name 的数据类型为nvarchar(128),默认设置为 NULL。OLE DB 提供程序应该用给定的 PROGID 在注册表中注册。
[ @datasrc = ] 'data_source'
由 OLE DB 提供程序解释的数据源名称。data_source 的数据类型为 nvarchar(4000),默认设置为 NULL。data_source 被当作 DBPROP_INIT_DATASOURCE 属性传递以便初始化 OLE DB 提供程序。
当链接的服务器针对于 SQL Server OLE DB 提供程序创建时,可以按照 servername/instancename 的形式指定 data_source,它可以用来连接到运行于特定计算机上的 SQL Server 的特定实例上。servername 是运行 SQL Server 的计算机名称,instancename 是用户将被连接到的特定 SQL Server 实例的名称。
[ @location = ] 'location'
OLE DB 提供程序所解释的数据库的位置。location 的数据类型为 nvarchar(4000),默认设置为 NULL。location 作为 DBPROP_INIT_LOCATION 属性传递以便初始化 OLE DB 提供程序。
[ @provstr = ] 'provider_string'
OLE DB 提供程序特定的连接字符串,它可标识唯一的数据源。provider_string 的数据类型为 nvarchar(4000),默认设置为 NULL。Provstr 作为 DBPROP_INIT_PROVIDERSTRING 属性传递以便初始化 OLE DB 提供程序。
当针对 Server OLE DB 提供程序提供了链接服务器后,可将 SERVER 关键字用作 SERVER=servername/instancename 来指定实例,以指定特定的 SQL Server 实例。servername 是 SQL Server 在其上运行的计算机名称,instancename 是用户连接到的特定的 SQL Server 实例名称。
[ @catalog = ] 'catalog'
建立 OLE DB 提供程序的连接时所使用的目录。catalog 的数据类型为sysname,默认设置为 NULL。catalog 作为 DBPROP_INIT_CATALOG 属性传递以便初始化 OLE DB 提供程序。
返回代码值
0(成功)或 1(失败)
结果集
如果没有指定参数,则 sp_addlinkedserver 返回此消息:
Procedure 'sp_addlinkedserver' expects parameter '@server', which was not supplied.
使用适当 OLE DB 提供程序和参数的 sp_addlinkedserver 返回此消息:
Server added.
'Payroll',
'',
'MSDASQL',
NULL,
NULL,
'DRIVER={SQL Server};SERVER=202.103.*.*;UID=sa;PWD=不告诉你,呵呵~;'
GO
然后可以用调用查询了。
window.attachEvent("onload",function (){AutoSizeDIV('CODE_2349')})
程序代码: | [ 复制代码到剪贴板 ] |
insert into database.dbo.tablel(id,shop_name) select * from Payroll.database.dbo.table where user_id=27911
SET IDENTITY_INSERTdatabase.dbo.tablel off
完成操作。
以下是MSSQL联机丛书里关于 sp_addlinkedserver 的说明:
引用内容:
sp_addlinkedserver
创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问。在使用 sp_addlinkedserver 创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为 Microsoft® SQL Server™,则可执行远程存储过程。
语法
sp_addlinkedserver [ @server = ] 'server'
[ , [ @srvproduct = ] 'product_name' ]
[ , [ @provider = ] 'provider_name' ]
[ , [ @datasrc = ] 'data_source' ]
[ , [ @location = ] 'location' ]
[ , [ @provstr = ] 'provider_string' ]
[ , [ @catalog = ] 'catalog' ]
参数
[ @server = ] 'server'
要创建的链接服务器的本地名称,server 的数据类型为 sysname,没有默认设置。
如果有多个 SQL Server 实例,server 可以为 servername/instancename。此链接的服务器可能会被引用为下面示例的数据源:
SELECT *FROM [servername/instancename.]pubs.dbo.authors.
如果未指定 data_source,则服务器为该实例的实际名称。
[ @srvproduct = ] 'product_name'
要添加为链接服务器的 OLE DB 数据源的产品名称。product_name 的数据类型为 nvarchar(128),默认设置为 NULL。如果是 SQL Server,则不需要指定 provider_name、data_source、location、provider_string 以及目录。
[ @provider = ] 'provider_name'
与此数据源相对应的 OLE DB 提供程序的唯一程序标识符 (PROGID)。provider_name 对于安装在当前计算机上指定的 OLE DB 提供程序必须是唯一的。provider_name 的数据类型为nvarchar(128),默认设置为 NULL。OLE DB 提供程序应该用给定的 PROGID 在注册表中注册。
[ @datasrc = ] 'data_source'
由 OLE DB 提供程序解释的数据源名称。data_source 的数据类型为 nvarchar(4000),默认设置为 NULL。data_source 被当作 DBPROP_INIT_DATASOURCE 属性传递以便初始化 OLE DB 提供程序。
当链接的服务器针对于 SQL Server OLE DB 提供程序创建时,可以按照 servername/instancename 的形式指定 data_source,它可以用来连接到运行于特定计算机上的 SQL Server 的特定实例上。servername 是运行 SQL Server 的计算机名称,instancename 是用户将被连接到的特定 SQL Server 实例的名称。
[ @location = ] 'location'
OLE DB 提供程序所解释的数据库的位置。location 的数据类型为 nvarchar(4000),默认设置为 NULL。location 作为 DBPROP_INIT_LOCATION 属性传递以便初始化 OLE DB 提供程序。
[ @provstr = ] 'provider_string'
OLE DB 提供程序特定的连接字符串,它可标识唯一的数据源。provider_string 的数据类型为 nvarchar(4000),默认设置为 NULL。Provstr 作为 DBPROP_INIT_PROVIDERSTRING 属性传递以便初始化 OLE DB 提供程序。
当针对 Server OLE DB 提供程序提供了链接服务器后,可将 SERVER 关键字用作 SERVER=servername/instancename 来指定实例,以指定特定的 SQL Server 实例。servername 是 SQL Server 在其上运行的计算机名称,instancename 是用户连接到的特定的 SQL Server 实例名称。
[ @catalog = ] 'catalog'
建立 OLE DB 提供程序的连接时所使用的目录。catalog 的数据类型为sysname,默认设置为 NULL。catalog 作为 DBPROP_INIT_CATALOG 属性传递以便初始化 OLE DB 提供程序。
返回代码值
0(成功)或 1(失败)
结果集
如果没有指定参数,则 sp_addlinkedserver 返回此消息:
Procedure 'sp_addlinkedserver' expects parameter '@server', which was not supplied.
使用适当 OLE DB 提供程序和参数的 sp_addlinkedserver 返回此消息:
Server added.
相关文章推荐
- 转载:在MySql上实现MSSQL的"链接服务器"功能
- [导入]基于RTSP协议流媒体服务器的实现[转载]
- 实现关联表查询(转载自孤傲苍狼)
- 利用C#实现分布式数据库查询(转载)
- 在Excel中使用SQL语句实现精确查询 (2012-08-21 00:00:00)转载▼
- 用Linq 实现动态多条件查询(转载)
- 树结构表递归查询在ORACLE和MSSQL中的实现方法 [续]
- 转载和积累系列 - Nodejs 实现静态服务器
- 各种数据库实现随机查询语句,网上转载,稍带个人总结...
- MS SQLSERVER如何实现跨服务器查询
- hibernate 实现多表连接查询(转载)
- 实现两个DataTable的联合查询(转载)
- MSSQL之二十四 实现服务器代理
- [MSSQL]语句查询每个分组的前N条记录的实现方法
- 用socket实现服务器的编程总结(转载)
- 转载:mysql update更新带子查询的实现方式
- 实现数据库查询的Web服务器应用程序
- 用c写的一个简单web服务器实现 转载来自sdlcwangsong
- 转载 六种方式实现hibernate查询,及IDE推荐