Compartir a través de


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.