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