一、SQL Server跨库查询
(一)查询本地SQL Server其他数据库
SELECT * FROM 数据库名称.dbo.对象名称
(二)查询其他数据库
1、创建链接服务器
2、创建或更新 SQL Server 本地实例上的登录名与远程服务器中安全帐户之间的映射
二、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)))'
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 访问接口建立连接时所使用的目录