解析MSSQL跨數(shù)據(jù)庫(kù)查詢(xún)的實(shí)現(xiàn)方法
更新時(shí)間:2013年06月06日 09:07:48 作者:
本篇文章是對(duì)MSSQL跨數(shù)據(jù)庫(kù)查詢(xún)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
復(fù)制代碼 代碼如下:
--創(chuàng)建鏈接服務(wù)器
exec sp_addlinkedserver '鏈接服務(wù)器名稱(chēng)', '', 'SQLOLEDB', '遠(yuǎn)程服務(wù)器名或ip地址'
exec sp_addlinkedsrvlogin '鏈接服務(wù)器名稱(chēng)', 'false' ,null, '需要鏈接服務(wù)器用戶(hù)名', '密碼'
sp_addlinkedserver
[ @server= ] 'server'
[ , [ @srvproduct= ] 'product_name' ]
[ , [ @provider= ] 'provider_name' ]
[ , [ @datasrc= ] 'data_source' ]
[ , [ @location= ] 'location' ]
[ , [ @provstr= ] 'provider_string' ]
[ , [ @catalog= ] 'catalog' ]
參數(shù)(Parameters):
[ @server = ] 'server'
要?jiǎng)?chuàng)建的鏈接服務(wù)器的名稱(chēng)。server 的數(shù)據(jù)類(lèi)型為 sysname,沒(méi)有默認(rèn)值。
[ @srvproduct = ] 'product_name'
要添加為鏈接服務(wù)器的 OLE DB 數(shù)據(jù)源的產(chǎn)品名稱(chēng)。product_name 的數(shù)據(jù)類(lèi)型為 nvarchar(128),默認(rèn)值為 NULL。如果為 SQL Server,則不必指定 provider_name、data_source、location、provider_string 和 catalog。
[ @provider = ] 'provider_name'
與此數(shù)據(jù)源對(duì)應(yīng)的 OLE DB 訪(fǎng)問(wèn)接口的唯一編程標(biāo)識(shí)符 (PROGID)。對(duì)于當(dāng)前計(jì)算機(jī)中安裝的指定 OLE DB 訪(fǎng)問(wèn)接口,provider_name 必須唯一。provider_name 的數(shù)據(jù)類(lèi)型為 nvarchar(128),默認(rèn)值為 NULL;但如果忽略 provider_name,則使用 SQLNCLI。SQLNCLI 是 SQL 本機(jī) OLE DB 訪(fǎng)問(wèn)接口。OLE DB 訪(fǎng)問(wèn)接口應(yīng)以指定的 PROGID 在注冊(cè)表中注冊(cè)。
[ @datasrc = ] 'data_source'
由 OLE DB 訪(fǎng)問(wèn)接口解釋的數(shù)據(jù)源的名稱(chēng)。data_source 的數(shù)據(jù)類(lèi)型為 nvarchar(4000)。data_source 作為 DBPROP_INIT_DATASOURCE 屬性傳遞以初始化 OLE DB 訪(fǎng)問(wèn)接口。
[ @location = ] 'location'
由 OLE DB 訪(fǎng)問(wèn)接口解釋的數(shù)據(jù)庫(kù)的位置。location 的數(shù)據(jù)類(lèi)型為 nvarchar(4000),默認(rèn)值為 NULL。location 作為 DBPROP_INIT_LOCATION 屬性傳遞以初始化 OLE DB 訪(fǎng)問(wèn)接口。
[ @provstr = ] 'provider_string'
OLE DB 訪(fǎng)問(wèn)接口特定的連接字符串,它可標(biāo)識(shí)唯一的數(shù)據(jù)源。provider_string 的數(shù)據(jù)類(lèi)型為 nvarchar(4000),默認(rèn)值為 NULL。provstr 或傳遞給 IDataInitialize 或設(shè)置為 DBPROP_INIT_PROVIDERSTRING 屬性以初始化 OLE DB 訪(fǎng)問(wèn)接口。
在針對(duì) SQL 本機(jī)客戶(hù)端 OLE DB 訪(fǎng)問(wèn)接口創(chuàng)建鏈接服務(wù)器后,可將 SERVER 關(guān)鍵字用作 SERVER=servername/instancename 來(lái)指定實(shí)例,以指定特定的 SQL Server 實(shí)例。servername 是運(yùn)行 SQL Server 的計(jì)算機(jī)名稱(chēng),instancename 是用戶(hù)將連接到的特定 SQL Server 實(shí)例的名稱(chēng)。
[ @catalog = ] 'catalog'
與 OLE DB 訪(fǎng)問(wèn)接口建立連接時(shí)所使用的目錄。catalog 的數(shù)據(jù)類(lèi)型為 sysname,默認(rèn)值為 NULL。catalog 作為 DBPROP_INIT_CATALOG 屬性傳遞以初始化 OLE DB 訪(fǎng)問(wèn)接口。在針對(duì) SQL Server 實(shí)例定義鏈接服務(wù)器時(shí),目錄指向鏈接服務(wù)器映射到的默認(rèn)數(shù)據(jù)庫(kù)。
返回代碼值(returnValue):
(成功)或 1(失?。?br>
權(quán)限:
要求具有 ALTER ANY LINKED SERVER 權(quán)限。
---------------------------------------
sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname' [ , [ @useself = ] 'useself' ] [ , [ @locallogin = ] 'locallogin' ] [ , [ @rmtuser = ] 'rmtuser' ] [ , [ @rmtpassword = ] 'rmtpassword' ] 注意:不能從用戶(hù)定義的事務(wù)中執(zhí)行 sp_addlinkedsrvlogin。 參數(shù)(Parameters):[ @rmtsrvname = ] 'rmtsrvname' 應(yīng)用登錄映射的鏈接服務(wù)器的名稱(chēng)。rmtsrvname 的數(shù)據(jù)類(lèi)型為 sysname,沒(méi)有默認(rèn)值。 [ @useself = ] 'useself' 確定用于連接遠(yuǎn)程服務(wù)器的登錄名。useself 的數(shù)據(jù)類(lèi)型為 varchar(8),默認(rèn)值為 TRUE。 值為 true 時(shí)指定登錄使用自己的憑據(jù)連接 rmtsrvname,忽略 rmtuser 和 rmtpassword 參數(shù)。 false 指定使用 rmtuser 和 rmtpassword 參數(shù)連接指定 locallogin 的 rmtsrvname。 如果 rmtuser 和 rmtpassword 也設(shè)置為 NULL,則不使用登錄名或密碼來(lái)連接鏈接服務(wù)器。 [ @locallogin = ] 'locallogin' 本地服務(wù)器上的登錄。locallogin 的數(shù)據(jù)類(lèi)型為 sysname,默認(rèn)值為 NULL。 NULL 指定此項(xiàng)應(yīng)用于連接到 rmtsrvname 的所有本地登錄。 如果不為 NULL,則 locallogin 可以是 SQL Server 登錄或 Windows 登錄。 對(duì)于 Windows 登錄來(lái)說(shuō),必須以直接的方式或通過(guò)已被授權(quán)訪(fǎng)問(wèn)的 Windows 組成員身份授予其訪(fǎng)問(wèn) SQL Server 的權(quán)限。 [ @rmtuser = ] 'rmtuser' 當(dāng) useself 為 false 時(shí),表示用于連接 rmtsrvname 的用戶(hù)名。 rmtuser 的數(shù)據(jù)類(lèi)型為 sysname,默認(rèn)值為 NULL。 [ @rmtpassword = ] 'rmtpassword' 與 rmtuser 關(guān)聯(lián)的密碼。rmtpassword 的數(shù)據(jù)類(lèi)型為 sysname,默認(rèn)值為 NULL。 返回代碼值(returnValue): 0(成功)或 1(失?。?nbsp; 權(quán)限: 需要對(duì)服務(wù)器具有 ALTER ANY LOGIN 權(quán)限。
----------------------------------------------- -----------------------------------------------查詢(xún)示例 select * from 鏈接服務(wù)器名.數(shù)據(jù)庫(kù)名.dbo.表名
相關(guān)文章
mysql5.7及mysql 8.0版本修改root密碼的方法小結(jié)
這篇文章主要介紹了mysql5.7及mysql 8.0版本修改root密碼方式 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11
DBeaver連接本地MySQL并創(chuàng)建數(shù)據(jù)庫(kù)/表的基礎(chǔ)操作教程
DBeaver是一款功能強(qiáng)大的數(shù)據(jù)庫(kù)管理工具,支持創(chuàng)建多種數(shù)據(jù)庫(kù),包括達(dá)夢(mèng)數(shù)據(jù)庫(kù),這篇文章主要給大家介紹了關(guān)于DBeaver連接本地MySQL并創(chuàng)建數(shù)據(jù)庫(kù)/表的基礎(chǔ)操作教程,需要的朋友可以參考下2024-02-02
如何解決局域網(wǎng)內(nèi)mysql數(shù)據(jù)庫(kù)連接慢
通過(guò)內(nèi)網(wǎng)連另外一臺(tái)機(jī)器的mysql服務(wù), 確發(fā)現(xiàn)速度N慢! 等了大約幾十秒才等到提示輸入密碼。非常急人,有沒(méi)有辦法可以解決局域網(wǎng)內(nèi)mysql數(shù)據(jù)庫(kù)連接慢呢?下面小編帶領(lǐng)大家來(lái)解決此問(wèn)題,感興趣的朋友一起看看吧2015-09-09
MySQL存儲(chǔ)過(guò)程中使用動(dòng)態(tài)行轉(zhuǎn)列
這篇文章主要為大家介紹了MySQL存儲(chǔ)過(guò)程中使用動(dòng)態(tài)行轉(zhuǎn)列的相關(guān)資料,需要的朋友可以參考下2016-01-01
MySQL數(shù)據(jù)庫(kù)使用mysqldump導(dǎo)出數(shù)據(jù)詳解
mysqldump是mysql用于轉(zhuǎn)存儲(chǔ)數(shù)據(jù)庫(kù)的實(shí)用程序。它主要產(chǎn)生一個(gè)SQL腳本,其中包含從頭重新創(chuàng)建數(shù)據(jù)庫(kù)所必需的命令CREATE TABLE INSERT等。接下來(lái)通過(guò)本文給大家介紹MySQL數(shù)據(jù)庫(kù)使用mysqldump導(dǎo)出數(shù)據(jù)詳解,需要的朋友一起學(xué)習(xí)吧2016-04-04
win10下安裝mysql8.0.23 及 “服務(wù)沒(méi)有響應(yīng)控制功能”問(wèn)題解決辦法
這篇文章主要介紹了win10下安裝mysql8.0.23 及 “服務(wù)沒(méi)有響應(yīng)控制功能”問(wèn)題解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03

