Compartir a través de


Objetos de origen de datos (OLE DB)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Descargar controlador OLE DB

El controlador OLE DB para SQL Server 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 OLE DB Driver for SQL Server.

Todos los proveedores OLE DB declaran un identificador de clase (CLSID) para sí mismo. El CLSID para OLE DB Driver for SQL Server es el GUID de C/C++ CLSID_MSOLEDBSQL (el símbolo MSOLEDBSQL_CLSID se resolverá en el progid correcto del archivo msoledbsql.h al que hace referencia). Con el CLSID, el consumidor usa la función de OLE CoCreateInstance para fabricar una instancia del objeto de origen de datos.

OLE DB Driver for SQL Server es un servidor en proceso. Las instancias de objetos del controlador OLE DB para SQL Server se crean mediante la macro CLSCTX_INPROC_SERVER para indicar el contexto ejecutable.

El objeto de origen de datos del controlador OLE DB para SQL Server expone las interfaces de inicialización de OLE DB que permiten al consumidor conectarse a las bases de datos SQL Server existentes.

Todas las conexiones realizadas a través de OLE DB Driver for SQL Server 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 del controlador OLE DB para SQL Server y obtener una referencia a su interfaz IDBInitialize.

IDBInitialize*   pIDBInitialize;
HRESULT          hr;

hr = CoCreateInstance(CLSID_MSOLEDBSQL, 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 del controlador OLE DB para SQL Server, 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 controlador OLE DB para SQL Server 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.

En esta sección

Consulte también

Programación del controlador OLE DB para SQL Server