创建在SQLServer 和 Oracle的 DBLINK
2015-12-29 20:08
603 查看
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
參考文章:http://blog.csdn.net/davidhsing/article/details/6408770
当我们要跨本地数据库。訪问另外一个数据库表中的数据时,本地数据库中就必需要创建远程数据库的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
參考文章:http://blog.csdn.net/davidhsing/article/details/6408770
相关文章推荐
- oracle学习笔记-用户管理
- BIEE查看RCU配置的oracle库信息
- 分区表的导入导出 expdp&impdp Oracle 11.2.0.4
- Oracle EBS交叉币种(4)-应付交叉币种
- 【项目】——ORACLE数据库中ROWNUM应用
- ORACLE数据库多表关联查询效率问题解决方案
- ORACLE 11G 导出空表 EXP 导出
- oracle 表锁死的解决方法
- 在Hibernate工程中如何让数据库从MYSQL换成ORACLE
- oracle 未归档redo丢失或损坏(active状态)
- oracle 未归档redo丢失或损坏(inactive状态)
- MyEclipse使用DB Browser连接Oracle数据库
- Oracle 11.2.0.4 RAC上调整SCAN 及 遇到的问题 on Oracle Linux 6
- MYSQL \ORACLE\SQL 删除主键字段
- oracle 的分析函数
- oracle笔记整理4——创建非视图化job
- Oracle 超长字符串分割劈分
- oracle笔记整理3——commit,rollback,flashback
- oracle笔记整理2——redo与undo
- Oracle 11g 生产大量的Trace 文件