Objetos de origen de datos (OLE DB)
SQL Server Native Client usa el término origen de datos para el conjunto de interfaces OLE DB usado para establecer un vínculo a un almacén de datos, como SQL Server. La creación de una instancia del objeto de origen de datos del proveedor es la primera tarea de un consumidor de SQL Server Native Client.
Todos los proveedores OLE DB declaran un identificador de clase (CLSID) para sí mismo. El CLSID para el proveedor OLE DB de SQL Server Native Client es el GUID C/C++ CLSID_SQLNCLI10 (el símbolo SQLNCLI_CLSID se resolverá como el progid correcto del archivo sqlncli.h al que se hace referencia). Con el CLSID, el consumidor usa la función de OLE CoCreateInstance para fabricar una instancia del objeto de origen de datos.
SQL Server Native Client es un servidor en proceso. Las instancias de objetos de proveedor OLE DB de SQL Server Native Client se crean mediante la macro CLSCTX_INPROC_SERVER para indicar el contexto ejecutable.
El objeto de origen de datos de proveedor OLE DB SQL Server de Native Client expone las interfaces de inicialización de OLE DB que permiten al consumidor conectar a las bases de datos SQL Server existentes.
Todas las conexiones realizada a través del proveedor OLE DB SQL Server de Native Client establece estas opciones automáticamente:
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
En este ejemplo se usa la macro de identificador de clase para crear un objeto de origen de datos de proveedor OLE DB SQL Server de Native Client y obtener una referencia a su interfaz 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.
}
Con la creación correcta de una instancia de un objeto de origen de datos de proveedor OLE DB de SQL Server Native Client, la aplicación de consumidor puede continuar inicializando el origen de datos y creando sesiones. Las sesiones OLE DB presentan las interfaces que permiten manipulación y acceso a datos.
El proveedor OLE DB de SQL Server Native Client realiza su primera conexión a una instancia especificada de SQL Server como parte de una inicialización correcta del origen de datos. Se mantiene la conexión siempre que se mantenga una referencia en cualquier interfaz de inicialización de origen de datos, o hasta que se llame al método IDBInitialize::Uninitialize.