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 データベースにアクセスするリンク サーバーを作成するには
SQL Server がインストールされているコンピュータ上にシステム データ ソースを作成します。
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 に設定されていた場合、このテーブルは参照できません。