由于業務邏輯的多樣性
經常得在sql server中查詢不同資料庫中資料
這就産生了分布式查詢的需求
現我将開發中遇到的幾種查詢總結如下:
1.access版本
--建立連接配接伺服器
exec sp_addlinkedserver
--要建立的連結伺服器名稱
'ai',
--産品名稱
'access',
--ole db 字元
'microsoft.jet.oledb.4.0',
--資料源
--格式:
-- 盤符:\路徑\檔案名
-- \\網絡名\共享名\檔案名 (網絡版本)
'd:\testdb\db.mdb'
go
--建立連結伺服器上遠端登入之間的映射
--連結伺服器預設設定為用登陸的上下文進行
--現在我們修改為連接配接連結伺服器不需使用任何登入或密碼
exec sp_addlinkedsrvlogin 'ai','false'
--查詢資料
select * from ai...mytable
2.excel版本
'ai_ex',
'ex',
'd:\testdb\mybook.xls' ,
null,
--ole db 提供程式特定的連接配接字元串
'excel 5.0'
----建立連結伺服器上遠端登入之間的映射
exec sp_addlinkedsrvlogin 'ai_ex','false'
select * from ai_ex...sheet3$
3.ms sql版本
'ai_mssql',
'ms',
'sqloledb',
'218.204.111.111,3342'
exec sp_addlinkedsrvlogin
'ai_mssql',
'false',
--遠端伺服器的登陸使用者名
'zhangzhe',
--遠端伺服器的登陸密碼
'fish2231'
select * from ai_mssql.pubs.dbo.jobs
--還有一個更簡單的辦法
--這種方式在連結伺服器建立後,它是預設開放rpc的
--要建立的連結伺服器名稱
--這裡就用資料源作名稱
'218.204.111.111,3342',
'sql server'
select * from [218.204.253.131,3342].pubs.dbo.jobs
4.oracle版本
'o',
'oracle',
'msdaora',
'acc'
--oracle伺服器的登陸使用者名
'f02m185',
--oracle伺服器的登陸密碼
'f02m185185'
--格式:linkserver..oracle使用者名.表名
--注意用大寫,因為在oracle的資料字典中為大寫
select * from o..f02m185.ai
作者:
從此啟程/範存威出處:
http://www.cnblogs.com/fancunwei/本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連結。如文章對您有用,煩請點個推薦再走,感謝! 本部落格新開通打賞,滑鼠移到右側打賞浮動處,即可賞部落客點零花錢,感謝您的支援!