1. 建立連接服務(wù)器并建立鏈接服務(wù)器登陸
EXEC?? sp_addlinkedserver 'test_remot','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=10.64.29.14;UID=sa;PWD=sa;'??
EXEC?? sp_addlinkedsrvlogin @rmtsrvname='test_remot',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='sa'??
GO
這里只對已填的參數(shù)作下說明,其它的可以到MSDN查閱
'test_remot':鏈接服務(wù)器名稱
'MSDASQL':驅(qū)動類型
'DRIVER={SQL Server};SERVER=10.64.29.14;UID=sa;PWD=sa2005;':驅(qū)動連接字符串,SERVER(遠(yuǎn)程服務(wù)器IP) UID(遠(yuǎn)程數(shù)據(jù)庫登錄用戶名) PWD(遠(yuǎn)程數(shù)據(jù)庫登錄密碼)
@rmtsrvname:鏈接服務(wù)器名稱
@locallogin:本地用戶
@rmtuser:遠(yuǎn)程用戶
@rmtpassword:遠(yuǎn)程用戶密碼
2.
查詢
示例:SELECT * FROM OPENQUERY(TEST, 'SELECT * FROM tableName')
可簡寫為:SELECT filed1,filed2... FROM TEST.DataBaseName.dbo.tableName where filed=value
3.
插入
示例:INSERT INTO OPENQUERY(TEST, 'SELECT * FROM tableName WHERE 1=0') VALUES(3,6,'ANDY')
可簡寫為: INSERT INTO TEST.DataBaseName.dbo.tableName VALUES(3,6,'ANDY')
4.
更新
示例:UPDATE OPENQUERY(TEST, 'SELECT * FROM tableName') SET role_id = 'ForTest' WHERE id = 3
可簡寫為:UPDATE TEST.DataBaseName.dbo.tableName SET role_id = 'ForTest' WHERE id = 3
5.
刪除
示例:DELETE OPENQUERY(TEST, 'SELECT * FROM tableName') WHERE id = 1
可簡寫為:DELETE TEST.DataBaseName.dbo.tableName WHERE id = 1
6.
存儲過程
示例:EXEC TEST.DataBaseName.dbo.sp_OA_Copy @inputValue,@outputValue output
7.
OPENQUERY 的日期時間條件式
不建議使用:select * from openquery(TEST ,'select * from tableName ') where filed='2009-11-06'
該語句查詢耗時18s;很明顯RETURN的數(shù)據(jù)相當(dāng)大,再進行篩選;
建議使用:select * from openquery(TEST ,'select * from tableName ') where filed={ ts ''2009-11-06 00:00:00.000''} ')
該語句查詢耗時3s;在TEST執(zhí)行完篩選才RETURN的,TABLE的數(shù)據(jù)量越大效果越明顯;
8.
使用MSDASQL驅(qū)動不支持項
1.不支持XML字段插入、更新
2.執(zhí)行存儲過程時,存儲過程中不能包括臨時表,如果包括則要在執(zhí)行存儲過程前加上 SET FMTONLY OFF
注:需要對XML字段插入、更新時,我們可以調(diào)用遠(yuǎn)程存儲過程完成
9.
還可以使用
:opendatasource、openrowset進行跨庫跨數(shù)據(jù)服務(wù)器操作。
網(wǎng)上找到一個圖用于描述操作過程:
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
