天天看點

sql server中分布式查詢随筆

由于業務邏輯的多樣性

經常得在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/

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連結。如文章對您有用,煩請點個推薦再走,感謝! 本部落格新開通打賞,滑鼠移到右側打賞浮動處,即可賞部落客點零花錢,感謝您的支援!