佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > SQLServer 跨庫(kù)查詢實(shí)現(xiàn)方法

SQLServer 跨庫(kù)查詢實(shí)現(xiàn)方法

熱門標(biāo)簽:網(wǎng)站排名優(yōu)化 呼叫中心市場(chǎng)需求 地方門戶網(wǎng)站 Linux服務(wù)器 AI電銷 百度競(jìng)價(jià)排名 服務(wù)外包 鐵路電話系統(tǒng)
本文給出一條 SQL 語(yǔ)句用于展示在同一名服務(wù)器上,不同的數(shù)據(jù)庫(kù)間查詢,注意當(dāng)前連接用戶要對(duì)兩個(gè)庫(kù)都有權(quán)限
SQL Server 中 SQL 語(yǔ)句中對(duì)象的完整表達(dá)式是:

[DatabaseServer].[DatabaseName].[DatabaseSchema].[DatabaseObject]

本文給出一條 SQL 語(yǔ)句用于展示在同一名服務(wù)器上,不同的數(shù)據(jù)庫(kù)間查詢,注意當(dāng)前連接用戶要對(duì)兩個(gè)庫(kù)都有權(quán)限。
復(fù)制代碼 代碼如下:

select *
from CfteaDb1.dbo.CfteaTable1 inner join CfteaDb2.dbo.CfteaTable2
on CfteaDb1.dbo.CfteaTable1.Id=CfteaDb2.dbo.CfteaTable2.Id

以上在 SQL Server 2008 R2 的 Management Studio 中測(cè)試成功。

下面是一些補(bǔ)充資料

不使用鏈接的服務(wù)器名,而提供特殊的連接信息,并將其作為四部分對(duì)象名的一部分。

語(yǔ)法
OPENDATASOURCE ( provider_name, init_string )

參數(shù)
provider_name

注冊(cè)為用于訪問數(shù)據(jù)源的 OLE DB 提供程序的 PROGID 的名稱。provider_name 的數(shù)據(jù)類型為 char,沒有默認(rèn)值。

init_string

連接字符串,這些字符串將要傳遞給目標(biāo)提供程序的 IDataInitialize 接口。提供程序字符串語(yǔ)法是以關(guān)鍵字值對(duì)為基礎(chǔ)的,這些關(guān)鍵字值對(duì)由分號(hào)隔開,例如:"keyword1=value; keyword2=value."

在 Microsoft® Data Access SDK 中定義了基本語(yǔ)法。有關(guān)所支持的特定關(guān)鍵字值對(duì)的信息,請(qǐng)參見提供程序中的文檔。下表列出 init_string 參數(shù)中最常用的關(guān)鍵字。
關(guān)鍵字 OLE DB 屬性 有效值和描述
數(shù)據(jù)源 DBPROP_INIT_DATASOURCE 要連接的數(shù)據(jù)源的名稱。不同的提供程序用不同的方法對(duì)此進(jìn)行解釋。對(duì)于 SQL Server OLE DB 提供程序來(lái)說(shuō),這會(huì)指明服務(wù)器的名稱。對(duì)于 Jet OLE DB 提供程序來(lái)說(shuō),這會(huì)指明 .mdb 文件或 .xls 文件的完整路徑。
位置 DBPROP_INIT_LOCATION 要連接的數(shù)據(jù)庫(kù)的位置。
擴(kuò)展屬性 DBPROP_INIT_PROVIDERSTRING 提供程序特定的連接字符串。
連接超時(shí) DBPROP_INIT_TIMEOUT 超時(shí)值,在該超時(shí)值后,連接嘗試將失敗。
用戶 ID DBPROP_AUTH_USERID 用于該連接的用戶 ID。
密碼 DBPROP_AUTH_PASSWORD 用于該連接的密碼。
目錄 DBPROP_INIT_CATALOG 連接到數(shù)據(jù)源時(shí)的初始或默認(rèn)的目錄名稱。

注釋
OPENDATASOURCE 函數(shù)可以在能夠使用鏈接服務(wù)器名的相同 Transact-SQL 語(yǔ)法位置中使用。因此,就可以將 OPENDATASOURCE 用作四部分名稱的第一部分,該名稱指的是 SELECT、INSERT、UPDATE 或 DELETE 語(yǔ)句中的表或視圖的名稱;或者指的是 EXECUTE 語(yǔ)句中的遠(yuǎn)程存儲(chǔ)過程。當(dāng)執(zhí)行遠(yuǎn)程存儲(chǔ)過程時(shí),OPENDATASOURCE 應(yīng)該指的是另一個(gè) SQL Server。OPENDATASOURCE 不接受參數(shù)變量。

與 OPENROWSET 函數(shù)類似,OPENDATASOURCE 應(yīng)該只引用那些不經(jīng)常訪問的 OLE DB 數(shù)據(jù)源。對(duì)于訪問次數(shù)稍多的任何數(shù)據(jù)源,請(qǐng)為它們定義鏈接的服務(wù)器。無(wú)論 OPENDATASOURCE 還是 OPENROWSET 都不能提供鏈接的服務(wù)器定義的全部功能,例如,安全管理以及查詢目錄信息的能力。每次調(diào)用 OPENDATASOURCE 時(shí),都必須提供所有的連接信息(包括密碼)。

示例
下面的示例訪問來(lái)自某個(gè)表的數(shù)據(jù),該表在 SQL Server 的另一個(gè)實(shí)例中。
復(fù)制代碼 代碼如下:

SELECT *
FROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=ServerName;User ID=MyUID;Password=MyPass'
).Northwind.dbo.Categories

下面是個(gè)查詢的示例,它通過用于 Jet 的 OLE DB 提供程序查詢 Excel 電子表格。
復(fù)制代碼 代碼如下:

SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
您可能感興趣的文章:
  • SQL Server 跨庫(kù)同步數(shù)據(jù)
  • MSSQLSERVER跨服務(wù)器連接(遠(yuǎn)程登錄)的示例代碼
  • SQL Server實(shí)現(xiàn)跨庫(kù)跨服務(wù)器訪問的方法

標(biāo)簽:黃山 蘭州 湖南 銅川 仙桃 崇左 衡水 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQLServer 跨庫(kù)查詢實(shí)現(xiàn)方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    清流县| 武穴市| 登封市| 全椒县| 江门市| 简阳市| 奉节县| 浠水县| 长武县| 诏安县| 左云县| 玉门市| 丹巴县| 泾阳县| 万山特区| 惠州市| 济源市| 开江县| 东海县| 靖州| 互助| 南川市| 浮梁县| 富平县| 武乡县| 柏乡县| 旬阳县| 宝鸡市| 基隆市| 保靖县| 新巴尔虎右旗| 宝鸡市| 云梦县| 汉源县| 长泰县| 建水县| 道真| 台东县| 永胜县| 禄丰县| 新余市|