在從事開發工做時一些比較大的項目會使用到多個數據庫,在寫視圖和存儲過程時常會用到遠程查詢,下面着重介紹一下在SQL2005下如何經過創建連接服務器,使SQL能夠對遠程的SQL服務器或ORACLE服務器進行遠程查詢:
一.創建SQL到SQL的遠程查詢
1.添加連接服務器
EXEC sp_addlinkedserver
@server = 'TSQL', --連接服務器名稱,任意取名
@srvproduct = 'SQL', --數據庫服務產品
@provider = 'SQLOLEDB', --數據庫服務提供者
@datasrc = '192.168.88.46'--SQL數據庫鏈接字符串
2.爲連接服務器設置默認鏈接密碼
EXEC sp_addlinkedsrvlogin @rmtsrvname = 'TSQL', --登陸遠程SQL連接服務器名
@useself = 'false',
@locallogin ='sa', --本地登陸名
@rmtuser = 'sa',--登陸SQL用戶名
@rmtpassword = '123456' --登陸遠程SQL密碼
3.查詢
select * from TSQL.LMIS.DBO.SPKC
二.創建SQL到ORACLE的遠程查詢
1.添加連接服務器
EXEC sp_addlinkedserver
@server = 'TTSERVER', --連接服務器名稱,任意取名
@srvproduct = 'Oracle', --數據庫服務產品
@provider = 'MSDAORA', --數據庫服務提供者
@datasrc = '192.168.88.46/LMIS'--Oracle數據庫鏈接字符串
2.爲連接服務器設置默認鏈接密碼
EXEC sp_addlinkedsrvlogin @rmtsrvname = 'TTSERVER', --登陸遠程ORACLE連接服務器名
@useself = 'false',
@locallogin ='sa', --本地登陸名
@rmtuser = 'tianzt',--登陸Oracle用戶名
@rmtpassword = '123456' --登陸Oracle密碼
3.查詢
select * from TTSERVER..LMISTEST.A_PSFX
或select * from openquery(TTSERVER,'select * from A_PSFX')
3、打開開始-控制面板-服務,確認Distributed Transaction Coordinator服務已啓動。 打開SQL SERVER Management Studio,實例名稱(OraLink)-服務器對象(右鍵)-新建鏈接服務器。 a)連接服務器:寫上連接服務器的名字,如:OraTest b) 服務器類型,選擇其餘數據源 c) 訪問接口:選擇 Microsoft OLE DB Provider for Oracle d) 產品名稱:寫上 Oracle e) 數據源:寫上tnsnames.ora 文件中配置的服務名,如:OraLink f)訪問接口字符串:user id=user;password= password g)在選擇安全性選項頁,使用此安裝上下文創建鏈接: 1:遠程登陸:user 2:使用密碼:password h) 肯定