数据源对象 (OLE DB)

SQL Server Native Client将术语数据源用于建立指向数据存储的链接(例如SQL Server)的 OLE DB 接口集。 创建提供程序的数据源对象的实例是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 方法前,这一连接会一直保持 。

本节内容

另请参阅

SQL Server Native Client (OLE DB)