dblink
当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。
一 如何创建Dblink
1)SQLServer 到 SQLServer
Exec sp_droplinkedsrvlogin PDALink,Null --删除映射(录与链接服务器上远程登录之间的映射)
Exec sp_dropserver PDALink --删除远程服务器链接
EXEC sp_addlinkedserver
@server='PDALink', --被访问的服务器别名
@srvproduct='', --要添加为链接服务器的 OLE DB 数据源的产品名称
@provider='SQLOLEDB', --被访问数据库类别 MSDAORA SQLOLEDB
@datasrc='192.168.120.114' --被访问的服务器
EXEC sp_addlinkedsrvlogin
'PDALink', --被访问的服务器别名
'false', --
NULL, --本地服务器上的登录。locallogin 的数据类型为 sysname,默认设置为 NULL。
'sa', --帐号
'sa' --密码
drop /* public */ database link PDA_LINK --删除远程服务器链接
create /* public */ database link PDA_LINK --被访问的服务器别名
connect to SYSTEM identified by frontlink
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)
(HOST = 192.168.1.10) --被访问的服务器
(PORT = 1521))) --被访问的端口
(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 --删除映射(录与链接服务器上远程登录之间的映射)
Exec sp_dropserver PDALink --删除远程服务器链接
EXEC sp_addlinkedserver
@server='PDALink', --被访问的服务器别名
@srvproduct='', --要添加为链接服务器的 OLE DB 数据源的产品名称
@provider='SQLOLEDB', --被访问数据库类别 MSDAORA SQLOLEDB
@datasrc='192.168.120.114' --被访问的服务器
EXEC sp_addlinkedsrvlogin
'PDALink', --被访问的服务器别名
'false', --
NULL, --本地服务器上的登录。locallogin 的数据类型为 sysname,默认设置为 NULL。
'sa', --帐号
'sa' --密码
SELECT * FROM PDALink.[数据库].dbo.[表名、视图]
SQL08版本到SQL2000版本连接时会遇到
无法执行操作,因为连接服务器 的OLBDB访问接口 "SQLNCLI10" 无法启动分布式事务
请参照一下链接进行设置
http://www.cnblogs.com/markhe/archive/2009/04/30/1447223.html
http://blog.sina.com.cn/s/blog_53c190520100z4yy.html
drop /* public */ database link PDA_LINK --删除远程服务器链接
create /* public */ database link PDA_LINK --被访问的服务器别名
connect to SYSTEM identified by frontlink
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)
(HOST = 192.168.1.10) --被访问的服务器
(PORT = 1521))) --被访问的端口
(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