OLE DB Provider for ODBC (Database Engine)

OLE DB Provider for ODBC 提供至 ODBC 資料來源的 OLE DB 介面。透過使用 OLE DB Provider for ODBC,分散式查詢可以存取所有的 ODBC 資料。

[!附註]

如果是 SQL Server 2000 資料來源,請使用 SQL Server Native Client OLE DB Provider。請勿使用 OLE DB Provider for ODBC。

若要在使用 ODBC 資料來源時,建立連結伺服器來存取 ODBC 資料庫:

  1. 在安裝 SQL Server 的電腦上建立一個系統資料來源。

  2. 執行 sp_addlinkedserver 來建立連結伺服器,並指定 MSDASQL 或 NULL 作為 provider_name,以及指定 ODBC 系統資料來源的名稱作為 data_source。

    ODBC 使用者資料來源無法用於分散式查詢,因為 SQL Server 是以服務的方式在 Microsoft Windows 上執行,而且服務不一定擁有使用者資料來源的存取權。例如,名為 SystemDSN 的系統資料來源會參考執行 SQL Server 的伺服器,而且該伺服器的預設資料庫為 AdventureWorks:

    sp_addlinkedserver 'SQLAdWorks', ' ', 'MSDASQL', 'SystemDSN'
    

連結伺服器不需使用 ODBC 資料來源,即可使用 OLE DB Provider for ODBC。定義連結伺服器只需一個步驟。OLE DB Provider for ODBC 在尋找 ODBC 驅動程式和連接到 ODBC 資料來源時所需的所有資訊,都必須定義在 provider_string 中。

若連結伺服器是使用 OLE DB Provider for ODBC 所定義,並且存取 SQL Server 資料庫,則會有下列限制存在:

  • 若資料表擁有一個或多個 timestamp 資料行,將不會參考資料表。

  • 若資料表擁有可設為 Null 的 char、varchar、nchar、nvarchar、binary 或 varbinary 資料行,而且 ANSI_PADDING 選項在建立資料表時設定為 OFF。