次の方法で共有


OLE DB Provider for ODBC (データベース エンジン)

OLE DB Provider for ODBC は ODBC データ ソースへの OLE DB インターフェイスを提供します。OLE DB Provider for ODBC を使用すると、分散クエリからすべての ODBC データにアクセスできます。

注意

SQL Server 2000 のデータ ソースの場合は、SQL Server Native Client OLE DB プロバイダを使用します。OLE DB Provider for ODBC は使用しないでください。

ODBC データ ソースを使用している場合に、ODBC データベースにアクセスするリンク サーバーを作成するには

  1. SQL Server がインストールされているコンピュータ上にシステム データ ソースを作成します。

  2. MSDASQL または NULL を provider_name、ODBC システム データ ソースの名前を data_source に指定して sp_addlinkedserver を実行し、リンク サーバーを作成します。

    ODBC ユーザー データ ソースを分散クエリに使用することはできません。SQL Server は Microsoft Windows 上のサービスの 1 つとして動作しており、サービスが常にユーザー データ ソースにアクセスできるとは限らないからです。たとえば次の例では、SQL Server を実行し、既定データベースとして AdventureWorks2008R2 があるサーバーを SystemDSN という名前のシステム データ ソースが参照しています。

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

リンク サーバーは、ODBC データ ソースを使用せずに OLE DB Provider for ODBC を使用できます。リンク サーバーは 1 回の操作で定義します。OLE DB Provider for ODBC が ODBC ドライバを探して ODBC データのソースに接続するために必要な情報はすべて、provider_string の中に定義する必要があります。

OLE DB Provider for ODBC を使用して定義されたリンク サーバーが SQL Server データベースにアクセスする場合、次の制限事項があります。

  • 1 つ以上の timestamp 型の列があるテーブルを参照することはできません。

  • テーブルに、char 型、varchar 型、nchar 型、nvarchar 型、binary 型、または varbinary 型の NULL 値を許容する列があり、テーブルの作成時に ANSI_PADDING オプションが OFF に設定されていた場合、このテーブルは参照できません。