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 方法,就维护连接。