Utilizar los archivos de encabezado y de biblioteca de SQL Server Native Client
Los archivos de encabezado de SQL Server Native Client y de biblioteca 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 acerca de la instalación y redistribución de SQL Server Native Client, vea Instalar SQL Server Native Client.
Los archivos de encabezado y de biblioteca de SQL Server Native Client se instalan en la ubicación siguiente:
%PROGRAM FILES%\Microsoft SQL Server\110\SDK
El archivo de encabezado de SQL Server Native Client (sqlncli.h) se puede utilizar para agregar la funcionalidad de acceso a datos de SQL Server Native Client a las aplicaciones personalizadas. El archivo de encabezado de SQL Server Native Client contiene todas las definiciones, atributos, propiedades e interfaces necesarios para aprovechar las nuevas características introducidas en SQL Server 2005.
Además del archivo de encabezado de SQL Server Native Client, hay también un archivo de biblioteca sqlncli11.lib que es la biblioteca de exportación para la funcionalidad de Programa de copia masiva (BCP) de SQL Server para ODBC.
El archivo de encabezado de SQL Server Native Client es compatible con las versiones anteriores de los archivos de encabezado odbcss.h y sqloledb.h utilizados con Microsoft Data Access Components (MDAC), pero no contiene CLSID para SQLOLEDB (el proveedor OLE DB de SQL Server incluido con MDAC) ni los símbolos de la funcionalidad XML (que SQL Server Native Client no admite).
Las aplicaciones ODBC no pueden hacer referencia al encabezado de SQL Server Native Client (sqlncli.h) y odbcss.h en el mismo programa. Aun cuando no utilice ninguna de las características introducidas en SQL Server 2005, el archivo de encabezado de SQL Server Native Client funcionará en lugar del odbcss.h anterior.
Las aplicaciones OLE DB que usan el proveedor OLE DB de SQL Server Native Client solamente tienen que hacer referencia a sqlncli.h. Si una aplicación utiliza MDAC (SQLOLEDB) y el proveedor OLE DB de SQL Server Native Client, puede hacer referencia a sqloledb.h y a sqlncli.h, pero la referencia a sqloledb.h debe aparecer en primer lugar.
Usar el archivo de encabezado de SQL Server Native Client
Para usar el archivo de encabezado de SQL Server Native Client, debe utilizar una instrucción include en el código de programación en C/C++. En las secciones siguientes se describe cómo hacer esto para las aplicaciones OLE DB y ODBC.
[!NOTA]
Los archivos de encabezado de SQL Server Native Client y de biblioteca solo se pueden compilar utilizando Visual Studio C++ 2002 o posterior.
OLE DB
Para utilizar el archivo de encabezado de SQL Server Native Client en una aplicación OLE DB, utilizando las líneas siguientes 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 mediante SQL Server Native Client, utilice "SQLNCLI11" como la cadena de nombre de proveedor.
ODBC
Para utilizar el archivo de encabezado de SQL Server Native Client en una aplicación ODBC, utilizando las líneas siguientes de código de programación:
#define _SQLNCLI_ODBC_
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 odbcss.h, se debe quitar.
Al crear una conexión a un origen de datos mediante SQL Server Native Client, utilice "SQL Server Native Client 11.0" como la 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 2012 |
MDAC |
---|---|---|---|---|
Nombre de controlador ODBC |
SQL Native Client |
SQL Server Native Client 10.0 |
SQL Server Native Client 11.0 |
SQL Server |
Nombre de archivo de encabezado de 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 tiene como valor predeterminado la última versión 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 con SQL Server Native Client, el archivo de biblioteca asociado (sqlncli11.lib) y el archivo de encabezados (sqlncli.h) que están en \Archivos de programa\Microsoft SQL Server\110\SDK, asegúrese de especificar (utilizando ODBC como ejemplo) “DRIVER={SQL Server Native Client 10.1}” en la cadena de conexión.
Para obtener más información, vea Realizar Realizar operaciones de copia masiva.