Oracle/SQLServer 跨库查询

来源:互联网 发布:广联达软件学习 编辑:程序博客网 时间:2024/06/04 18:06

一、SQL Server跨库查询

(一)查询本地SQL Server其他数据库

SELECT * FROM 数据库名称.dbo.对象名称

 

(二)查询其他数据库

1、创建链接服务器

2、创建或更新 SQL Server 本地实例上的登录名与远程服务器中安全帐户之间的映射

 

详细可参照:http://msdn.microsoft.com/zh-cn/magazine/ms189811.aspx

 

二、Oracle跨库查询

 

(一)查询其他Oracle数据库

1、创建数据库链接

语法:CREATE DATABASE LINK dblink_name CONNECTION TO user_name IDENTIFIED BY password USING 'server_name'

 

dblink_name:新数据库链接名

user_name:用户名

password:密码

server_name:服务本地链接

 

 

例如:CREATE DATABASE LINK DBLINK_PDMS_LIST_QZ CONNECT TO PDMS_LIST_QZ IDENTIFIED BY PDMS_LIST_QZ USING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.106.236)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = ora9)))'

 

调用:SELECT * FROM BASE_CUSTOMS@DBLINK_PDMS_LIST_QZ

 

 

sp_addlinkedsrvlogin (Transact-SQL)
语法:

 

sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname'  --应用登录映射的链接服务器的名称
     [ , [ @useself = ] 'TRUE' | 'FALSE' | NULL ]                  --确定是否通过模拟本地登录名或显式提交登录名和密码来连接到 rmtsrvname
     [ , [ @locallogin = ] 'locallogin' ]                                  --本地服务器上的登录
     [ , [ @rmtuser = ] 'rmtuser' ]                                       --当 @useself 为 FALSE 时,用于连接到 rmtsrvname 的远程登录名
     [ , [ @rmtpassword = ] 'rmtpassword' ]                      --与 rmtuser 关联的密码

 

sp_addlinkedserver (Transact-SQL)

 

语法:
sp_addlinkedserver [ @server= ] 'server' --要创建的链接服务器的名称
     [ , [ @srvproduct= ] 'product_name' ]  --要添加为链接服务器的 OLE DB 数据源的产品名称
     [ , [ @provider= ] 'provider_name' ]     --与此数据源对应的 OLE DB 访问接口的唯一编程标识符 (PROGID)
     [ , [ @datasrc= ] 'data_source' ]          --由 OLE DB 访问接口解释的数据源的名称
     [ , [ @location= ] 'location' ]                 --由 OLE DB 访问接口解释的数据库的位置
     [ , [ @provstr= ] 'provider_string' ]      --OLE DB 访问接口特定的连接字符串,它可标识唯一的数据源
     [ , [ @catalog= ] 'catalog' ]                  --与 OLE DB 访问接口建立连接时所使用的目录
 
详细可参照:http://msdn.microsoft.com/zh-cn/magazine/ms190479.aspx
 
原创粉丝点击