sql server中分布式查詢隨筆

2022-05-21 15:21:09 字數 3270 閱讀 7301

由於業務邏輯的多樣性

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

go

--查詢資料

select * from ai...mytable

go

2.excel版本

--建立連線伺服器

exec sp_addlinkedserver

--要建立的鏈結伺服器名稱 

'ai_ex',            

--產品名稱              

'ex',    

--ole db 字元

'microsoft.jet.oledb.4.0', 

--資料來源

--格式:

-- 碟符:\路徑\檔名

-- \\網路名\共享名\檔名  (網路版本)

'd:\testdb\mybook.xls' ,

null,

--ole db 提供程式特定的連線字串

'excel 5.0'

go

----建立鏈結伺服器上遠端登入之間的對映

--鏈結伺服器預設設定為用登陸的上下文進行

--現在我們修改為連線鏈結伺服器不需使用任何登入或密碼

exec sp_addlinkedsrvlogin 'ai_ex','false'

go

--查詢資料

select * from ai_ex...sheet3$

go

3.ms sql版本

--建立連線伺服器

exec sp_addlinkedserver

--要建立的鏈結伺服器名稱 

'ai_mssql',            

--產品名稱              

'ms',    

--ole db 字元

'sqloledb', 

--資料來源

'218.204.111.111,3342'

go

--建立鏈結伺服器上遠端登入之間的對映

exec sp_addlinkedsrvlogin

'ai_mssql',

'false',

null,

--遠端伺服器的登陸使用者名稱

'zhangzhe',

--遠端伺服器的登陸密碼

'fish2231'

go

--查詢資料

select * from ai_mssql.pubs.dbo.jobs

go

--還有乙個更簡單的辦法

--這種方式在鏈結伺服器建立後,它是預設開放rpc的

--建立連線伺服器

exec sp_addlinkedserver

--要建立的鏈結伺服器名稱

--這裡就用資料來源作名稱

'218.204.111.111,3342',

'sql server'

go

--建立鏈結伺服器上遠端登入之間的對映

exec sp_addlinkedsrvlogin

'218.204.111.111,3342',

'false',

null,

--遠端伺服器的登陸使用者名稱

'zhangzhe',

--遠端伺服器的登陸密碼

'fish2231'

go

--查詢資料

select * from [218.204.253.131,3342].pubs.dbo.jobs

go

4.oracle版本

--建立連線伺服器

exec sp_addlinkedserver

--要建立的鏈結伺服器名稱 

'o',

--產品名稱              

'oracle',

--ole db 字元

'msdaora',

--資料來源

'acc'

go

--建立鏈結伺服器上遠端登入之間的對映

exec sp_addlinkedsrvlogin

'o',

'false',

null,

--oracle伺服器的登陸使用者名稱

'f02m185',

--oracle伺服器的登陸密碼

'f02m185185'

go

--查詢資料

--格式:linkserver..oracle使用者名稱.表名

--注意用大寫,因為在oracle的資料字典中為大寫

select * from o..f02m185.ai

go

希望上面提到的知識對你有所提示

當然歡迎交流和指正

author:aierong

blog:

email:[email protected]

sql server中分布式查詢隨筆

由於業務邏輯的多樣性 經常得在sql server中查詢不同資料庫中資料 這就產生了分布式查詢的需求 現我將開發中遇到的幾種查詢總結如下 1.access版本 建立連線伺服器 exec sp addlinkedserver 要建立的鏈結伺服器名稱 ai 產品名稱 access ole db 字元 m...

SQLServer跨庫查詢 分布式查詢

用openrowset連線遠端sql或插入資料 如果只是臨時訪問,可以直接用openrowset 查詢示例 select from openrowset sqloledb sql伺服器名 使用者名稱 密碼 資料庫名.dbo.表名 在跨庫查詢時需要啟用ad hoc distributed querie...

Python中分布式程序原理

分布式程序是指將process程序分布到多台機器中,充分利用多台機器的效能完成複雜的任務.multiprocessing中的子模組managers支援吧多程序分布到多台機器上.實現思想 寫乙個服務端程序作為排程者,將任務分布到其他多個程序中,依靠網路通訊進行管理.服務端核心 import rando...