Oracle/SQLServer 跨庫查詢

一、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 訪問接口建立連接時所使用的目錄
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章