1. 程式人生 > >創建在SQLServer 和 Oracle的 DBLINK

創建在SQLServer 和 Oracle的 DBLINK

rip 當我 smb sdn 遇到 ron 一個 null html

來自:https://www.cnblogs.com/mengfanrong/p/5086930.html

dblink
當我們要跨本地數據庫。訪問另外一個數據庫表中的數據時,本地數據庫中就必需要創建遠程數據庫的dblink,通過dblink本地數據庫能夠像訪問本地數據庫一樣訪問遠程數據庫表中的數據。




一 怎樣創建Dblink
1)SQLServer 到 SQLServer
Exec sp_droplinkedsrvlogin PDALink,Null --刪除映射(錄與鏈接server上遠程登錄之間的映射)
Exec sp_dropserver PDALink --刪除遠程服務器鏈接


EXEC sp_addlinkedserver
@server=‘PDALink‘,--被訪問的服務器別名
@srvproduct=‘‘,--要加入為鏈接server的 OLE DB 數據源的產品名稱
@provider=‘SQLOLEDB‘,--被訪問數據庫類別 MSDAORA SQLOLEDB
@datasrc=‘192.168.120.114‘--被訪問的server


EXEC sp_addlinkedsrvlogin
‘PDALink‘, --被訪問的server別名
‘false‘, --
NULL, --本地server上的登錄。locallogin 的數據類型為 sysname,默認設置為 NULL。


‘sa‘, --帳號
‘sa‘ --password

SELECT * FROM PDALink.[數據庫].dbo.[表名、視圖]

SQL08版本號到SQL2000版本號連接時會遇到

無法運行操作,由於連接server 的OLBDB訪問接口 "SQLNCLI10" 無法啟動分布式事務

請參照一下鏈接進行設置

http://www.cnblogs.com/markhe/archive/2009/04/30/1447223.html
http://blog.sina.com.cn/s/blog_53c190520100z4yy.html

2)Oracle 到 Oracle
drop /* public */ database link PDA_LINK --刪除遠程server鏈接


create /* public */ database link PDA_LINK --被訪問的server別名
  connect to SYSTEM identified by frontlink
  using ‘(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)
(HOST = 192.168.1.10)--被訪問的server
(PORT = 1521)))--被訪問的port
(CONNECT_DATA =
(SERVICE_NAME = SMB)--被訪問的數據庫
))‘;


SELECT * FROM [表名、視圖]@PDA_LINK

3)SQL到Oracle 請訪問 http://blog.csdn.net/lygzscnt12/article/details/40074793

創建在SQLServer 和 Oracle的 DBLINK