Utilizar los archivos de encabezado y de biblioteca de SQL Server Native Client

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). No se recomienda SQL Server Native Client (SQLNCLI o SQLNCLI11) ni el proveedor OLE DB de Microsoft heredado para SQL Server (SQLOLEDB) para el desarrollo de nuevas aplicaciones. Cambie al nuevo controlador OLE DB de Microsoft (MSOLEDBSQL) para SQL Server o al controlador ODBC de Microsoft ODBC Driver for SQL Server más reciente de ahora en adelante. Para SQLNCLI que se incluye como componente de SQL Server motor de base de datos (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, 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:

%ARCHIVOS DE PROGRAMA%\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 (9.x).

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 que se usan con componentes de Microsoft Data Access (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 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 a sqloledb.h y sqlncli.h, pero primero se debe hacer 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 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 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 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 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) de \Archivos de programa\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.

Consulte también

Generar aplicaciones con SQL Server Native Client