資料來源物件 (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 方法前,都會維持連接。