远程连接操作

SQL code
  
  
-- 遠程連接操作 /* ***************************************************************************************************************************************************** Tab表: /* ID 自增列 Name ----------- --------- 1 a 2 b 3 c */ 存儲過程: /* create proc P as select top 10 ID,Name from sysobjects */ 整理人:中國風(Roy) 日期: 2008.06 . 06 ******************************************************************************************************************************************************/ -- 遠程鏈接服務器機器名:Roy;實例名:Roy/SQL2005DE;登陸名:sa;密碼:Test2005; -- 創建鏈接服務器 EXEC master.dbo.sp_addlinkedserver @server = N ' ROY_LNK ' , @srvproduct = N ' ROY_LNK ' , @provider = N ' SQLOLEDB ' , @datasrc = N ' Roy/SQL2005DE ' -- SQL05可用SQLNCLI/SQLOLEDB GO EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N ' ROY_LNK ' , @locallogin = NULL , @useself = N ' False ' , @rmtuser = N ' sa ' , @rmtpassword = N ' Test2005 ' GO -- 刪除鏈接服務器 -- exec sp_dropserver 'roy_lnk','droplogins' -- Select select * from roy_lnk.test.dbo.Tab -- insert insert roy_lnk.test.dbo.Tab(Name) -- 指定列 Values ( ' d ' ) -- update update roy_lnk.test.dbo.Tab set Name = ' DD ' where Name = ' d ' -- delete delete roy_lnk.test.dbo.Tab where Name = ' DD ' 用openrowset: -- 支持存儲過程 select * from openrowset ( ' SQLOLEDB ' , ' Roy/SQL2005DE ' ; ' sa ' ; ' Test2005 ' , ' test.dbo.p ' )a -- select select * from openrowset ( ' SQLOLEDB ' , ' Roy/SQL2005DE ' ; ' sa ' ; ' Test2005 ' ,test.dbo.Tab)a -- insert insert openrowset ( ' SQLOLEDB ' , ' Roy/SQL2005DE ' ; ' sa ' ; ' Test2005 ' ,test.dbo.Tab)(Name) values ( ' EE ' ) -- update update openrowset ( ' SQLOLEDB ' , ' Roy/SQL2005DE ' ; ' sa ' ; ' Test2005 ' ,test.dbo.Tab) set Name = ' EEE ' where Name = N ' EE ' -- delete delete openrowset ( ' SQLOLEDB ' , ' Roy/SQL2005DE ' ; ' sa ' ; ' Test2005 ' ,test.dbo.Tab) where Name = N ' EEE ' 用openquery: -- 支持存儲過程 -- 支持存儲過程 select * from openquery (roy_lnk, ' test.dbo.P ' ) -- select SELECT * FROM openquery (roy_lnk, ' SELECT * FROM test.dbo.tab ' ) -- insert insert openquery (roy_lnk, ' SELECT * FROM test.dbo.tab ' ) (Name) values ( ' F ' ) -- update update openquery (roy_lnk, ' SELECT * FROM test.dbo.tab ' ) set Name = ' FF ' where Name = ' F ' -- delete不支持是根據 OLE DB 提供者的功能而定 -- delete openquery(roy_lnk, 'SELECT * FROM test.dbo.tab') where Name='FF' 用OPENDATASOURCE: -- 支持存儲過程 select * from OPENDATASOURCE ( ' SQLOLEDB ' , ' Data Source=Roy/SQL2005DE;User ID=sa;Password=Test2005 ' ). ' test.dbo.p ' -- select select * from OPENDATASOURCE ( ' SQLOLEDB ' , ' Data Source=Roy/SQL2005DE;User ID=sa;Password=Test2005 ' ).test.dbo.tab -- insert insert OPENDATASOURCE ( ' SQLOLEDB ' , ' Data Source=Roy/SQL2005DE;User ID=sa;Password=Test2005 ' ).test.dbo.tab(Name) values ( ' H ' ) -- update update OPENDATASOURCE ( ' SQLOLEDB ' , ' Data Source=Roy/SQL2005DE;User ID=sa;Password=Test2005 ' ).test.dbo.tab set Name = ' HH ' where Name = ' H ' -- delete delete OPENDATASOURCE ( ' SQLOLEDB ' , ' Data Source=Roy/SQL2005DE;User ID=sa;Password=Test2005 ' ).test.dbo.tab where Name = ' HH ' -- 與本機表數據對比時用別名 select * from roy_lnk.test.dbo.Tab a join tab b on a.ID = b.ID
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值