数据源对象 (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 访问接口数据源对象公开 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 方法前,这一连接会一直保持。

本节涉及的主题

请参阅

概念

SQL Server Native Client (OLE DB)