解析MSSQL跨資料庫查詢的實現方法
複製程式碼 程式碼如下:
--建立連結伺服器
exec sp_addlinkedserver '連結伺服器名稱', '', 'SQLOLEDB', '遠端伺服器名或ip地址'
exec sp_addlinkedsrvlogin '連結伺服器名稱', 'false' ,null, '需要連結伺服器使用者名稱', '密碼'
sp_addlinkedserver
[ @server= ] 'server'
[ , [ @srvproduct= ] 'product_name' ]
[ , [ @provider= ] 'provider_name' ]
[ , [ @datasrc= ] 'data_source' ]
[ , [ @location= ] 'location' ]
[ , [ @provstr= ] 'provider_string' ]
[ , [ @catalog= ] 'catalog' ]
引數(Parameters):
[ @server = ] 'server'
要建立的連結伺服器的名稱。server 的資料型別為 sysname,沒有預設值。
[ @srvproduct = ] 'product_name'
要新增為連結伺服器的 OLE DB 資料來源的產品名稱。product_name 的資料型別為 nvarchar(128),預設值為 NULL。如果為 SQL Server,則不必指定 provider_name、data_source、location、provider_string 和 catalog。
[ @provider = ] 'provider_name'
與此資料來源對應的 OLE DB 訪問介面的唯一程式設計識別符號 (PROGID)。對於當前計算機中安裝的指定 OLE DB 訪問介面,provider_name 必須唯一。provider_name 的資料型別為 nvarchar(128),預設值為 NULL;但如果忽略 provider_name,則使用 SQLNCLI。SQLNCLI 是 SQL 本機 OLE DB 訪問介面。OLE DB 訪問介面應以指定的 PROGID 在登錄檔中註冊。
[ @datasrc = ] 'data_source'
由 OLE DB 訪問介面解釋的資料來源的名稱。data_source 的資料型別為 nvarchar(4000)。data_source 作為 DBPROP_INIT_DATASOURCE 屬性傳遞以初始化 OLE DB 訪問介面。
[ @location = ] 'location'
由 OLE DB 訪問介面解釋的資料庫的位置。location 的資料型別為 nvarchar(4000),預設值為 NULL。location 作為 DBPROP_INIT_LOCATION 屬性傳遞以初始化 OLE DB 訪問介面。
[ @provstr = ] 'provider_string'
OLE DB 訪問介面特定的連線字串,它可標識唯一的資料來源。provider_string 的資料型別為 nvarchar(4000),預設值為 NULL。provstr 或傳遞給 IDataInitialize 或設定為 DBPROP_INIT_PROVIDERSTRING 屬性以初始化 OLE DB 訪問介面。
在針對 SQL 本機客戶端 OLE DB 訪問介面建立連結伺服器後,可將 SERVER 關鍵字用作 SERVER=servername/instancename 來指定例項,以指定特定的 SQL Server 例項。servername 是執行 SQL Server 的計算機名稱,instancename 是使用者將連線到的特定 SQL Server 例項的名稱。
[ @catalog = ] 'catalog'
與 OLE DB 訪問介面建立連線時所使用的目錄。catalog 的資料型別為 sysname,預設值為 NULL。catalog 作為 DBPROP_INIT_CATALOG 屬性傳遞以初始化 OLE DB 訪問介面。在針對 SQL Server 例項定義連結伺服器時,目錄指向連結伺服器對映到的預設資料庫。
返回程式碼值(returnValue):
(成功)或 1(失敗)
許可權:
要求具有 ALTER ANY LINKED SERVER 許可權。
---------------------------------------
sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname' [ , [ @useself = ] 'useself' ] [ , [ @locallogin = ] 'locallogin' ] [ , [ @rmtuser = ] 'rmtuser' ] [ , [ @rmtpassword = ] 'rmtpassword' ] 注意:不能從使用者定義的事務中執行 sp_addlinkedsrvlogin。 引數(Parameters):[ @rmtsrvname = ] 'rmtsrvname' 應用登入對映的連結伺服器的名稱。rmtsrvname 的資料型別為 sysname,沒有預設值。 [ @useself = ] 'useself' 確定用於連線遠端伺服器的登入名。useself 的資料型別為 varchar(8),預設值為 TRUE。 值為 true 時指定登入使用自己的憑據連線 rmtsrvname,忽略 rmtuser 和 rmtpassword 引數。 false 指定使用 rmtuser 和 rmtpassword 引數連線指定 locallogin 的 rmtsrvname。 如果 rmtuser 和 rmtpassword 也設定為 NULL,則不使用登入名或密碼來連線連結伺服器。 [ @locallogin = ] 'locallogin' 本地伺服器上的登入。locallogin 的資料型別為 sysname,預設值為 NULL。 NULL 指定此項應用於連線到 rmtsrvname 的所有本地登入。 如果不為 NULL,則 locallogin 可以是 SQL Server 登入或 Windows 登入。 對於 Windows 登入來說,必須以直接的方式或透過已被授權訪問的 Windows 組成員身份授予其訪問 SQL Server 的許可權。 [ @rmtuser = ] 'rmtuser' 當 useself 為 false 時,表示用於連線 rmtsrvname 的使用者名稱。 rmtuser 的資料型別為 sysname,預設值為 NULL。 [ @rmtpassword = ] 'rmtpassword' 與 rmtuser 關聯的密碼。rmtpassword 的資料型別為 sysname,預設值為 NULL。 返回程式碼值(returnValue): 0(成功)或 1(失敗) 許可權: 需要對伺服器具有 ALTER ANY LOGIN 許可權。
----------------------------------------------- -----------------------------------------------查詢示例 select * from 連結伺服器名.資料庫名.dbo.表名
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3349/viewspace-2804353/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MSSQL資料庫映象在Oracle中的實現方法SQL資料庫Oracle
- SQL Server 跨資料庫查詢SQLServer資料庫
- efcore 跨表查詢,實現一個介面內查詢兩個不同資料庫裡各自的表資料資料庫
- MSSQL遍歷資料庫根據列值查詢資料SQL資料庫
- Yii2實現跨mysql資料庫關聯查詢排序功能MySql資料庫排序
- php查詢mssql出現亂碼的解決方法PHPSQL
- Excel資料庫轉MySQL,實現查詢Excel資料庫MySql
- tp5實現多資料庫查詢資料庫
- 樹結構表遞迴查詢在ORACLE和MSSQL中的實現方法遞迴OracleSQL
- 資料庫資料的查詢----連線查詢資料庫
- django對資料庫查詢基本方法Django資料庫
- 樹結構表遞迴查詢在ORACLE和MSSQL中的實現方法 [續]遞迴OracleSQL
- SSH:hiberate實現資料的查詢(單查詢和全查詢)
- 使用cglib實現資料庫框架的級聯查詢CGLib資料庫框架
- SQL server資料庫with as子句與遞迴查詢的實現SQLServer資料庫遞迴
- 如何使用 Milvus 向量資料庫實現實時查詢資料庫
- 一條SQL完成跨資料庫例項Join查詢SQL資料庫
- SQL Server實戰四:查詢資料庫的資料SQLServer資料庫
- SQL server跨庫查詢SQLServer
- 資料庫查詢資料庫
- 資料庫 - 資料查詢資料庫
- Android SQL資料庫查詢方法 query( )AndroidSQL資料庫
- 優化SQL Server資料庫查詢方法優化SQLServer資料庫
- 大型資料庫中跨shard查詢使用的技術對比資料庫
- 求教 j2ee 查詢資料庫的具體實現資料庫
- 實現 MyBatis 流式查詢的方法MyBatis
- mysql資料庫連表查詢的幾種方法MySql資料庫
- 資料庫高階查詢之子查詢資料庫
- MSSQL資料庫健康檢查--SQL Server巡檢SQL資料庫Server
- PHP查詢資料庫中滿足條件的記錄條數(二種實現方法)PHP資料庫
- oracle 跨庫查詢greenplum慢Oracle
- 查詢資料庫後是返回ResultSet實現中遇到的問題資料庫
- 求助:資料庫查詢資料庫
- ThinkPHP 資料庫查詢PHP資料庫
- 查詢資料庫大小資料庫
- 資料庫排序查詢資料庫排序
- Jemter查詢資料庫資料庫
- SQL Server資料庫查詢優化的方法總結SQLServer資料庫優化