Utilizar los archivos de encabezado y de biblioteca de SQL Server Native Client
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Importante
SQL Server Native Client (SNAC) no se incluye con:
- SQL Server 2022 (16.x) y versiones posteriores
- SQL Server Management Studio 19 y versiones posteriores
Sql Server Native Client (SQLNCLI o SQLNCLI11) y el proveedor MICROSOFT OLE DB heredado para SQL Server (SQLOLEDB) no se recomiendan para el desarrollo de aplicaciones nuevas.
En el caso de los proyectos nuevos, use uno de los siguientes controladores:
Para SQLNCLI que se incluye como componente de motor de base de datos de SQL Server (versiones 2012 a 2019), consulte esta excepción de ciclo de vida de soporte técnico.
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, vea 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:
%ARCHIVOS DE PROGRAMA%\Microsoft SQL Server\110\SDK
El archivo de encabezado de SQL Server Native Client (sqlncli.h) se puede usar 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 necesarias para aprovechar las nuevas características introducidas en SQL Server 2005 (9.x).
Además del archivo de encabezado de SQL Server Native Client, también hay un archivo de biblioteca sqlncli11.lib que es la biblioteca de exportación para la funcionalidad del Programa de copia masiva (BCP) de SQL Server para ODBC.
El archivo de encabezado de SQL Server Native Client es compatible con versiones anteriores compatibles 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 incluido 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 (9.x), el archivo de encabezado de SQL Server Native Client funcionará en lugar de odbcss.h anterior.
Las aplicaciones OLE DB que usan el proveedor OLE DB de SQL Server Native Client solo necesitan hacer referencia a sqlncli.h. Si una aplicación usa MDAC (SQLOLEDB) y el proveedor OLE DB de SQL Server Native Client, puede hacer referencia tanto a sqloledb.h como a sqlncli.h, pero primero debe llegar la referencia a sqloledb.h.
Usar el archivo de encabezado de SQL Server Native Client
Para usar el archivo de encabezado de SQL Server Native Client, debe usar una instrucción include en el 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 de 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 aparecer después de ella.
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 de 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 primera línea de código mostrada anteriormente debe omitirse 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 del 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 (11.x) |
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 el valor predeterminado es 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 con SQL Server Native Client y el archivo de biblioteca asociado (sqlncli11.lib) y el archivo de encabezado (sqlncli.h) desde \Archivos de programa\Microsoft SQL Server\110\SDK, asegúrese de especificar (mediante ODBC como ejemplo) "DRIVER={SQL Server Native Client 11.0}" en el cadena de conexión.
Para más información, consulte Realización de operaciones de copia masiva.