次の方法で共有


データ ソース オブジェクト (OLE DB)

SQL Server Native Client は、SQL Server などのデータ ストアへのリンクを確立するために使用される OLE DB インターフェイスのセットにデータ ソースという用語を使用します。 プロバイダーのデータ ソース オブジェクトのインスタンスの作成は、SQL Server Native Client コンシューマーの最初のタスクです。

すべての OLE DB プロバイダーは、それ自体のクラス識別子 (CLSID) を宣言します。 SQL Server Native Client OLE DB プロバイダーの CLSID は、C/C++ GUID CLSID_SQLNCLI10です (シンボルSQLNCLI_CLSIDは、参照する sqlncli.h ファイル内の正しい progid に解決されます)。 CLSID では、コンシューマーは OLE CoCreateInstance 関数を使用して、データ ソース オブジェクトのインスタンスを作成します。

SQL Server Native Client はインプロセス サーバーです。 SQL Server Native Client OLE DB プロバイダー オブジェクトのインスタンスは、実行可能コンテキストを示すために CLSCTX_INPROC_SERVER マクロを使用して作成されます。

SQL Server Native Client OLE DB プロバイダー データ ソース オブジェクトは、コンシューマーが既存の SQL Server データベースに接続できるようにする OLE DB 初期化インターフェイスを公開します。

SQL Server Native Client OLE DB プロバイダーを介して行われるすべての接続では、次のオプションが自動的に設定されます。

  • SET ANSI_WARNINGS ON

  • SET ANSI_NULLS ON

  • SET ANSI_PADDING ON

  • SET ANSI_NULL_DFLT_ON ON

  • SET QUOTED_IDENTIFIER ON

  • SET CONCAT_OF_NULL_YIELDS_NULL ON

この例では、クラス識別子マクロを使用して SQL Server Native Client OLE DB プロバイダー データ ソース オブジェクトを作成し、その IDBInitialize インターフェイスへの参照を取得します。

IDBInitialize*   pIDBInitialize;  
HRESULT          hr;  
  
hr = CoCreateInstance(CLSID_SQLNCLI10, NULL, CLSCTX_INPROC_SERVER,  
    IID_IDBInitialize, (void**) &pIDBInitialize);  
  
if (SUCCEEDED(hr))  
{  
    //  Perform necessary processing with the interface.  
    pIDBInitialize->Uninitialize();  
    pIDBInitialize->Release();  
}  
else  
{  
    // Display error from CoCreateInstance.  
}  

SQL Server Native Client OLE DB プロバイダー データ ソース オブジェクトのインスタンスが正常に作成されると、コンシューマー アプリケーションはデータ ソースを初期化し、セッションを作成することで続行できます。 OLE DB セッションでは、データアクセスと操作を許可するインターフェイスが表示されます。

SQL Server Native Client OLE DB プロバイダーは、正常なデータ ソースの初期化の一環として、SQL Server の指定されたインスタンスへの最初の接続を行います。 接続は、任意のデータ ソース初期化インターフェイスで参照が維持されている限り、または IDBInitialize::Uninitialize メソッドが呼び出されるまで維持されます。

このセクションにて

こちらもご覧ください

SQL Server Native Client (OLE DB)