Utilizar los archivos de encabezado y de biblioteca de SQL Server Native Client
Los archivos de encabezado y biblioteca de SQL Server Native Client se instalan con SQL Server. Al desarrollar una aplicación, es importante copiar e instalar todos los archivos necesarios para el desarrollo en el entorno de desarrollo. Para obtener más información sobre cómo instalar y redistribuir SQL Server Native Client, consulte Instalación de SQL Server Native Client.
Los archivos de encabezado y biblioteca de SQL Server Native Client se instalan en la siguiente ubicación:
%PROGRAM FILES%\Microsoft SQL Server\110\SDK
El archivo de encabezado SQL Server Native Client (sqlncli.h) se puede usar para agregar SQL Server Native Client funcionalidad de acceso a datos a las aplicaciones personalizadas. El archivo de encabezado SQL Server Native Client contiene todas las definiciones, atributos, propiedades e interfaces necesarias para aprovechar las nuevas características introducidas en SQL Server 2005.
Además del archivo de encabezado SQL Server Native Client, también hay un archivo de biblioteca sqlncli11.lib que es la biblioteca de exportación para SQL Server funcionalidad del Programa de copia masiva (BCP) para ODBC.
El archivo de encabezado SQL Server Native Client es compatible con versiones anteriores con los archivos de encabezado sqloledb.h y odbcss.h usados con Microsoft Data Access Components (MDAC), pero no contiene CLSID para SQLOLEDB (el proveedor OLE DB para SQL Server incluye con MDAC) o símbolos para la funcionalidad XML (que no es compatible con SQL Server Native Client).
Las aplicaciones ODBC no pueden hacer referencia al encabezado SQL Server Native Client (sqlncli.h) y odbcss.h en el mismo programa. Incluso si no usa ninguna de las características introducidas en SQL Server 2005, el archivo de encabezado SQL Server Native Client funcionará en lugar de odbcss.h anterior.
Las aplicaciones OLE DB que usan el proveedor OLE DB SQL Server Native Client solo necesitan hacer referencia a sqlncli.h. Si una aplicación usa MDAC (SQLOLEDB) y el proveedor OLE DB SQL Server Native Client, puede hacer referencia tanto a sqloledb.h como a sqlncli.h, pero primero debe aparecer la referencia a sqloledb.h.
Usar el archivo de encabezado de SQL Server Native Client
Para usar el archivo de encabezado SQL Server Native Client, debe usar una include
instrucción dentro del código de programación de C/C++. En las secciones siguientes se describe cómo hacer esto para las aplicaciones OLE DB y ODBC.
Nota:
Los archivos de encabezado y biblioteca de SQL Server Native Client solo se pueden compilar con Visual Studio C++ 2002 o posterior.
OLE DB
Para usar el archivo de encabezado SQL Server Native Client en una aplicación OLE DB, use las siguientes líneas de código de programación:
#define _SQLNCLI_OLEDB_
include "sqlncli.h";
Nota
Se debe omitir la primera línea de código mostrada anterior si la aplicación utiliza las API de ODBC y de OLE DB. Además, si la aplicación tiene una instrucción include
para sqloledb.h, la instrucción include
para sqlncli.h debe venir detrás de ésta.
Al crear una conexión a un origen de datos a través de SQL Server Native Client, use "SQLNCLI11" como cadena de nombre del proveedor.
ODBC
Para usar el archivo de encabezado SQL Server Native Client en una aplicación ODBC, use las siguientes líneas de código de programación:
#define _SQLNCLI_ODBC_
include "sqlncli.h";
Nota:
La aplicación debe omitir la primera línea de código mostrada anteriormente si la aplicación usa las API OLE DB y ODBC. Además, si la aplicación tiene una instrucción #include
para odbcss.h, se debe quitar.
Al crear una conexión a un origen de datos a través de SQL Server Native Client, use "SQL Server Native Client 11.0" como cadena de nombre de controlador.
Nombres de componente y propiedades por versión
Propiedad | SQL Server Native Client SQL Server 2005 |
SQL Server Native Client 10.0 SQL Server 2008 |
SQL Server Native Client 11.0 SQL Server 2014 |
MDAC |
---|---|---|---|---|
Nombre de controlador ODBC | SQL Native Client | SQL Server Native Client 10.0 | SQL Server Native Client 11.0 | SQL Server |
Nombre del archivo de encabezado ODBC | Sqlncli.h | Sqlncli.h | Sqlncli.h | Odbcss.h |
DLL del controlador ODBC | Sqlncli.dll | Sqlncl10.dll | Sqlncl11.dll | sqlsrv32.dll |
Archivo .lib de ODBC para las API de BCP | Sqlncli.lib | Sqlncli10.lib | Sqlncli11.lib | Odbcbcp.lib |
DLL de ODBC para las API de BCP | Sqlncli.dll | Sqlncli10.dll | Sqlncli11.dll | Odbcbcp.dll |
PROGID de OLE DB | SQLNCLI | SQLNCLI10 | SQLNCLI11 | SQLOLEDB |
Nombre de archivo de encabezado de OLE DB | Sqlncli.h | Sqlncli.h | Sqlncli.h | Sqloledb.h |
DLL del proveedor OLE DB | Sqlncli.dll | Sqlncli10.dll | Sqlncli11.dll | Sqloledb.dll |
sqlncli.h admite varias versiones de SQL Server Native Client a través de la macro SQLNCLI_VER. De forma predeterminada, SQLNCLI_VER la versión más reciente de SQL Server Native Client. Para generar una aplicación que utiliza sqlncli10.dll en lugar de sqlncli11.dll, establezca SQLNCLI_VER en 10.
Vinculación estática y funciones BCP
Cuando una aplicación utiliza funciones BCP, es importante que la aplicación especifique en la cadena de conexión el controlador de la misma versión que se envió con el archivo de encabezados y la biblioteca utilizada para compilar la aplicación.
Por ejemplo, si compila una aplicación mediante SQL Server Native Client y el archivo de biblioteca asociado (sqlncli11.lib) y el archivo de encabezado (sqlncli.h) desde \Program Files\Microsoft SQL Server\110\SDK, asegúrese de especificar (mediante ODBC como ejemplo) "DRIVER={SQL Server Native Client 11.0}" en la cadena de conexión.
Para más información, consulte Realización de operaciones de copia masiva.