資料來源物件 (OLE DB)
適用於:SQL Server Azure SQL 資料 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
OLE DB Driver for SQL Server 會使用資料來源一詞來表示用來建立資料存放區 (例如 SQL Server) 連結的一組 OLE DB 介面。 建立提供者資料來源物件的執行個體,是 OLE DB Driver for SQL Server 取用者的首要工作。
每個 OLE DB 提供者都會為自己宣告一個類別識別碼 (CLSID)。 適用於 OLE DB Driver for SQL Server 的 CLSID 是 C/C++ GUID CLSID_MSOLEDBSQL (MSOLEDBSQL_CLSID 符號將在您參考之 msoledbsql.h 檔案中解析為正確的 progid)。 透過 CLSID,取用者會使用 OLE CoCreateInstance
函式來製造資料來源物件的執行個體。
OLE DB Driver for SQL Server 是一個同處理序伺服程式。 OLE DB Driver for SQL Server 物件的執行個體會使用 CLSCTX_INPROC_SERVER 巨集來建立,以便指示可執行的內容。
OLE DB Driver for SQL Server 資料來源物件會公開允許取用者連線至現有 SQL Server 資料庫的 OLE DB 初始化介面。
透過 OLE DB Driver for SQL Server 建立的每個連線都會自動設定這些選項:
- 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
此範例會使用類別識別碼巨集來建立 OLE DB Driver for SQL Server 資料來源物件,並取得其 IDBInitialize
介面的參考。
IDBInitialize* pIDBInitialize;
HRESULT hr;
hr = CoCreateInstance(CLSID_MSOLEDBSQL, 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.
}
成功建立 OLE DB Driver for SQL Server 資料來源物件的執行個體之後,取用者應用程式就可以透過初始化資料來源並建立工作階段來繼續。 OLE DB 工作階段會顯示允許資料存取與操作的介面。
OLE DB Driver for SQL Server 會在成功初始化資料來源時,建立與指定的 SQL Server 執行個體的連線。 只要在任何資料來源初始化介面上維持參考,或是在呼叫 IDBInitialize::Uninitialize
方法前,都會維持連線。