共用方式為


資料來源物件 (OLE DB)

SQL Server Native Client 會針對用於建立資料存放區連結的 OLE DB 介面集合,使用資料來源這個詞,例如,SQL Server。建立提供者資料來源物件的執行個體是 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 方法前,都會維持連接。