資料來源物件 (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 檔案中的正確程式。 透過 CLSID,取用者會使用 OLE CoCreateInstance 函式來製造資料來源物件的執行個體。
SQL Server Native Client是進程內伺服器。 SQL Server Native Client OLE DB 提供者物件的實例是使用 CLSCTX_INPROC_SERVER 宏來建立,以指出可執行檔內容。
SQL Server Native Client OLE DB 提供者資料來源物件會公開 OLE DB 初始化介面,讓取用者能夠連線到現有的SQL Server資料庫。
透過 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 方法前,都會維持連線。