创建在SQLServer 和 Oracle的 DBLINK

Posted flyforever

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建在SQLServer 和 Oracle的 DBLINK相关的知识,希望对你有一定的参考价值。

来自: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的主要内容,如果未能解决你的问题,请参考以下文章

SqlServer如何跨实例访问数据库

数据库语言之间的区别 SQL server , Oracle , mysql , db2``

sqlserver和DB2的区别

db2,oracle,mysql ,sqlserver限制返回的行数

无法创建链接服务器 "ORCL" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 的实例 (错误:7302)

IGNORE_DUP_KEY 的 DB2 等效项