objetos de origen de datos de SQL Server Native Client (OLE DB)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Importante

SQL Server Native Client (a menudo abreviado SNAC) se ha quitado de SQL Server 2022 (16.x) y SQL Server Management Studio 19 (SSMS). Para nuevos trabajos de desarrollo, no se recomiendan ni el proveedor OLE DB de SQL Server Native Client (SQLNCLI o SQLNCLI11) ni el proveedor OLE DB de Microsoft para SQL Server (SQLOLEDB) heredado. Cambie al nuevo Controlador Microsoft OLE DB para SQL Server de ahora en adelante.

SQL Server Native Client usa el término origen de datos para el conjunto de interfaces OLE DB usadas 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 del proveedor OLE DB de SQL Server Native Client es el GUID de C/C++ CLSID_SQLNCLI10 (el símbolo SQLNCLI_CLSID se resolverá en el archivo correcto de sqlncli.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.

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

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

Cada conexión realizada a través del proveedor OLE DB de SQL Server 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 del proveedor OLE DB SQL Server 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 del proveedor OLE DB de SQL Server Native Client, la aplicación 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 SQL Server Native Client establece 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

SQL Server Native Client (OLE DB)