SQL Server Native Client
Se aplica a: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Server Native Client, también conocido como SNAC o SQLNCLI, hace referencia a los controladores ODBC y OLE DB para SQL Server, antes de SQL Server 2022 (16.x).
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
No se recomiendan SQL Server Native Client (SQLNCLI o SQLNCLI11) ni Microsoft OLE DB Provider for SQL Server (SQLOLEDB) heredado para el desarrollo de nuevas aplicaciones.
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.
Nota:
Para obtener más información y descargar los controladores SNAC o ODBC, consulte la entrada de blog sobre el ciclo de vida de SNAC. Para obtener más información sobre el controlador ODBC para SQL Server, vea Controlador ODBC de Microsoft para SQL Server.
Información sobre las características de SQL Server Native Client publicadas con SQL Server 2012 (11.x), la última versión disponible de SQL Server Native Client:
- Compatibilidad de SQL Server Native Client con LocalDB
- Detección de metadatos
- Compatibilidad con UTF-16 en SQL Server Native Client 11.0
- Compatibilidad de SQL Server Native Client para la alta disponibilidad con recuperación de desastres
- Obtener acceso a información de diagnóstico en el registro de eventos extendidos
ODBC en SQL Server Native Client admite tres características que se agregaron a ODBC estándar en el SDK de Windows 7:
Ejecución asincrónica en operaciones relacionadas con conexión. Para obtener más información, vea el tema que trata sobre ejecución asincrónica.
Extensibilidad del tipo de datos C. Para obtener más información, vea el tema sobre tipos de datos C en ODBC.
Para admitir esta característica en SQL Server Native Client,
SQLGetDescField
puede devolver SQL_C_SS_TIME2 (para tipos de hora) o SQL_C_SS_TIMESTAMPOFFSET (para datetimeoffset) en lugar de SQL_C_BINARY, si la aplicación usa ODBC 3.8. Para obtener más información, vea Compatibilidad con tipos de datos para mejoras de fecha y hora de ODBC.Llamada varias veces a
SQLGetData
con un búfer pequeño para recuperar un valor de parámetro grande. Para obtener más información, vea el tema que trata sobre recuperar parámetros de salida mediante SQLGetData.
En los artículos siguientes se describen los cambios de comportamiento de SQL Server Native Client en SQL Server 2012 (11.x).
Al llamar a
ICommandWithParameters::SetParameterInfo
, el valor pasado al parámetropwszName
debe ser un identificador válido. Para obtener más información, vea ICommandWithParameters.SQLDescribeParam
devuelve de forma coherente un valor conforme a la especificación ODBC. Para obtener más información, vea SQLDescribeParam.Cambio de comportamiento del controlador ODBC al administrar las conversiones de caracteres