OPENDATASOURCE (Transact-SQL)

更新: 2006 年 4 月 14 日

提供特定連接資訊作為四部分物件名稱,而不使用連結伺服器名稱。

主題連結圖示Transact-SQL 語法慣例

語法

OPENDATASOURCE ( provider_name, init_string )

引數

  • provider_name
    這是登錄為用來存取資料來源之 OLE DB 提供者的 PROGID 的名稱。provider_name 的資料類型是 char,沒有預設值。
  • init_string
    這是傳遞至目的地提供者之 IDataInitialize 介面的連接字串。提供者字串語法是以分號隔開的關鍵字-值配對為基礎,例如:'keyword1=value;keyword2=value'

    如需在提供者上支援的特定關鍵字-值配對,請參閱 Microsoft Data Access SDK。這份文件集定義基本語法。下表列出 init_string 引數最常使用的關鍵字。

    關鍵字 OLE DB 屬性 有效值和描述

    資料來源

    DBPROP_INIT_DATASOURCE

    要連接的資料來源名稱。不同提供者以不同方式解譯這個名稱。如果是 SQL Native Client OLE DB 提供者,這表示伺服器的名稱。如果是 Jet OLE DB 提供者,這表示 .mdb 檔或 .xls 檔的完整路徑。

    位置

    DBPROP_INIT_LOCATION

    要連接的資料庫位置。

    擴充屬性

    DBPROP_INIT_PROVIDERSTRING

    提供者特定連接字串。

    連接逾時

    DBPROP_INIT_TIMEOUT

    逾時值,在此之後連接嘗試會失敗。

    使用者識別碼

    DBPROP_AUTH_USERID

    用於連接的使用者識別碼。

    密碼

    DBPROP_AUTH_PASSWORD

    用於連接的密碼。

    目錄

    DBPROP_INIT_CATALOG

    連接到資料來源的初始或預設目錄名稱。

    整合式安全性

    DBPROP_AUTH_INTEGRATED

    SSPI,用來指定 Windows 驗證

備註

唯有針對指定的提供者將 DisallowAdhocAccess 登錄選項明確設為 0 時,且已啟用 [特定分散式查詢] 進階組態選項時,才可使用 OPENDATASOURCE 來存取 OLE DB 資料來源的遠端資料。若未設定這些選項,預設行為便不允許特定存取。

OPENDATASOURCE 函數可使用於與連結伺服器名稱相同的 Transact-SQL 語法位置。因此,OPENDATASOURCE 可作為四部分名稱的第一部分使用,來參考 SELECT、INSERT、UPDATE 或 DELETE 陳述式中的資料表或檢視名稱,或參考 EXECUTE 陳述式中的遠端預存程序。執行遠端預存程序時,OPENDATASOURCE 應該參考 SQL Server 的另一個執行個體。OPENDATASOURCE 不接受變數作為其引數。

如同 OPENROWSET 函數,OPENDATASOURCE 只應該參考不常存取的 OLE DB 資料來源。請為存取多次的資料來源定義連結伺服器。OPENDATASOURCE 或 OPENROWSET 都不提供連結伺服器定義的所有功能,例如安全性管理和查詢目錄資訊的能力。每次在呼叫 OPENDATASOURCE 時,都必須提供所有連接資訊,包括密碼在內。

ms179856.note(zh-tw,SQL.90).gif重要事項:
Windows 驗證比 SQL Server 驗證更安全。可能的話,您應該使用 Windows 驗證。OPENDATASOURCE 不應與連接字串中的明確密碼一起使用。

權限

任何使用者都可以執行 OPENDATASOURCE。您可以從連接字串判斷用來連接到遠端伺服器的權限。

範例

下列範例對伺服器 London 上的 SQL Server Payroll 執行個體建立特定連接,並查詢 AdventureWorks.HumanResources.Employee 資料表。

SELECT *
FROM OPENDATASOURCE('SQLNCLI',
    'Data Source=London\Payroll;Integrated Security=SSPI')
    .AdventureWorks.HumanResources.Employee

請參閱

參考

OPENROWSET (Transact-SQL)
sp_addlinkedserver (Transact-SQL)

其他資源

分散式查詢
使用特定名稱來識別資料來源

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 4 月 14 日

新增內容:
  • 加入範例。