Crear una aplicación de controlador ODBC de SQL Server Native Client

La arquitectura de ODBC tiene cuatro componentes que se encargan de realizar las funciones siguientes.

Componente

Función

Aplicación

Llama a las funciones ODBC para comunicarse con un origen de datos ODBC, envía instrucciones SQL y procesa los conjuntos de resultados.

Administrador de controladores

Administra la comunicación entre una aplicación y todos los controladores ODBC usados por la aplicación.

Controlador

Procesa todas las llamadas de función ODBC desde la aplicación, se conecta a un origen de datos, pasa instrucciones SQL de la aplicación al origen de datos y devuelve resultados a la aplicación. Si es necesario, el controlador traduce el SQL de ODBC de la aplicación al SQL nativo usado por el origen de datos.

Origen de datos

Contiene toda la información que un controlador necesita para obtener acceso a una determinada instancia de datos en un DBMS.

Una aplicación que usa el controlador ODBC de SQL Server Native Client para comunicarse con una instancia de SQL Server realiza las tareas siguientes:

  • Se conecta con un origen de datos.

  • Envía instrucciones SQL al origen de datos.

  • Procesa los resultados de las instrucciones desde el origen de datos.

  • Procesa errores y mensajes.

  • Termina la conexión con el origen de datos.

Una aplicación más compleja escrita para el controlador ODBC de SQL Server Native Client también podría realizar las tareas siguientes:

  • Usar cursores para controlar la ubicación en un conjunto de resultados.

  • Solicitar operaciones de confirmación o reversión para el control de transacciones.

  • Realizar transacciones distribuidas que impliquen dos o más servidores.

  • Ejecutar procedimientos almacenados en el servidor remoto.

  • Llamar a funciones de catálogo para realizar consultas sobre los atributos de un conjunto de resultados.

  • Realizar operaciones de copia masiva.

  • Administrar operaciones de datos grandes (columnas varchar(max), nvarchar(max) y varbinary(max)).

  • Usar la lógica de reconexión para facilitar la conmutación por error al configurar la creación de reflejo de la base de datos.

  • Registrar datos de rendimiento y consultas de ejecución prolongada.

Para realizar llamadas a funciones ODBC, una aplicación C o C++ debe incluir los archivos de encabezado sql.h, sqlext.h y sqltypes.h. Para realizar llamadas a las funciones API del instalador ODBC, una aplicación debe incluir el archivo de encabezado odbcinst.h. Una aplicación ODBC Unicode debe incluir el archivo de encabezado sqlucode.h. Las aplicaciones ODBC deben estar vinculadas al archivo odbc32.lib. Las aplicaciones ODBC que llaman a las funciones API del instalador ODBC deben estar vinculadas al archivo odbccp32.lib. Estos archivos se incluyen en Windows Platform SDK.

Muchos controladores ODBC, incluido el controlador ODBC de SQL Server Native Client, proporcionan extensiones ODBC específicas del controlador. Para sacar provecho de las extensiones específicas del controlador ODBC de SQL Server Native Client, una aplicación debe incluir el archivo de encabezado sqlncli.h. Este archivo de encabezado incluye:

  • Atributos de conexión específicos del controlador ODBC de SQL Server Native Client.

  • Atributos de instrucción específicos del controlador ODBC de SQL Server Native Client.

  • Atributos de columna específicos del controlador ODBC de SQL Server Native Client.

  • Tipos de datos específicos de SQL Server.

  • Tipos de datos definidos por el usuario específicos de SQL Server.

  • Tipos SQLGetInfo específicos del controlador ODBC de SQL Server Native Client.

  • Campos de diagnóstico del controlador ODBC de SQL Server Native Client.

  • Códigos de función dinámica de diagnóstico específicos de SQL Server.

  • Definiciones de tipo de C/C++ para tipos de datos C nativos específicos de SQL Server (que se devuelven cuando las columnas están enlazadas al tipo de datos C SQL_C_BINARY).

  • Definición de tipo para la estructura de datos SQLPERF.

  • Prototipos y macros de copia masiva para admitir el uso de la API de copia masiva a través de una conexión ODBC.

  • Llame a las funciones API de metadatos de consulta distribuida para obtener listas de servidores vinculados y sus catálogos.

Cualquier aplicación ODBC de C o C++ que use la característica de copia masiva del controlador ODBC de SQL Server Native Client debe vincularse al archivo sqlncli10.lib. Las aplicaciones que llaman a las funciones API de metadatos de consulta distribuida también deben vincularse a sqlncli10.lib. Los archivos sqlncli.h y sqlncli10.lib se distribuyen como parte de las herramientas del programador de SQL Server. Los directorios Include y Lib de SQL Server deberían estar en las rutas de acceso LIB e INCLUDE del compilador, como en el siguiente ejemplo:

LIB=c:\Program Files\Microsoft Data Access SDK 2.8\Libs\x86\lib;C:\Program Files\Microsoft SQL Server\100\Tools\SDK\Lib;
INCLUDE=c:\Program Files\Microsoft Data Access SDK 2.8\inc;C:\Program Files\Microsoft SQL Server\100\Tools\SDK\Include;

Una decisión de diseño que se realiza al principio del proceso de generación de una aplicación es si la aplicación necesita tener varias llamadas ODBC pendientes al mismo tiempo. Hay dos métodos para admitir varias llamadas ODBC simultáneas, que se describen en los temas restantes en esta sección. Para obtener más información, vea la Referencia del programador de OLE DB.

Vea también

Conceptos