【IT168技术文档】
像Oracle的Transparent Gateway一样,Ms SQLServer也有类似的自带Stroed Procedure: sp_addlinkedserver。使用方法可参考自带的联机文档。
这里给一个使用例字,在SQLServer 2000测试通过:
EXEC sp_addlinkedserver @server = 'test' , @srvproduct = '' , @provider = 'SQLOLEDB' , @provstr = 'SERVER=remote;UID=sa;PWD=test'
其中:
@server参数为要创建的链接服务器的本地名称,server 的数据类型为 sysname,没有默认设置。
@svrproduct参数为要添加为链接服务器的 OLE DB 数据源的产品名称。product_name 的数据类型为 nvarchar(128),默认设置为 NULL。如果是 SQL Server,则不需要指定 provider_name、data_source、location、provider_string 以及目录。
@provider参数为与此数据源相对应的 OLE DB 提供程序的唯一程序标识符 (PROGID)。provider_name
对于安装在当前计算机上指定的 OLE DB 提供程序必须是唯一的。provider_name 的数据类型为nvarchar(128),默认设置为 NULL。OLE DB 提供程序应该用给定的 PROGID 在注册表中注册。
@provstr参数为OLE DB 提供程序特定的连接字符串,它可标识唯一的数据源。
注意:@srvproduct = '' 这个参数不能少,不然会报“Server: Msg 15429, Level 16, State 1, Procedure sp_addlinkedserver, Line 72'(null)' 是无效的产品名。”错误。
执行了该例后,假如在remote服务器有一个数据库为test,表为test,则可以在本地执行如下列语句:
select * from test.test.dbo.test; select * from oracle
相关系统存储过程:
sp_dropserver @server //删除注册服务器