Detección de metadatos en 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.

La mejora de la detección de metadatos en SQL Server 2012 (11.x) permite a las aplicaciones SQL Server Native Client asegurarse de que los metadatos de columna o parámetro devueltos de la ejecución de una consulta son idénticos o compatibles con el formato de metadatos especificado antes de ejecutar la consulta. Se producirá un error si los metadatos devueltos tras la ejecución de la consulta no son compatibles con el formato de los metadatos especificados antes de la ejecución de la consulta.

En el caso de las funciones bcp y ODBC y las interfaces IBCPSession e IBCPSession2, ahora se puede especificar una lectura diferida (detección de metadatos diferida) para evitar la detección de metadatos en operaciones de salida de consulta. De este modo, mejora el rendimiento y se eliminan los errores de detección de metadatos.

Si desarrolla una aplicación mediante SQL Server Native Client en SQL Server 2012 (11.x), pero se conecta a una versión de servidor anterior a SQL Server 2012 (11.x), la funcionalidad de detección de metadatos se corresponderá con la versión del servidor.

Comentarios

Las siguientes funciones bcp se han mejorado en SQL Server 2012 (11.x) para proporcionar una detección de metadatos mejorada:

También percibirá una mejora del rendimiento si especifica el formato del metadatos utilizando bcp_setbulkmode.

bcp_control tiene una nueva eOption para controlar el comportamiento de bcp_readfmt: BCPDELAYREADFMT.

Las siguientes funciones ODBC se han mejorado en SQL Server 2012 (11.x) para proporcionar una detección de metadatos mejorada:

Las funciones miembro de OLE DB siguientes se han perfeccionado en SQL Server 2012 (11.x) para proporcionar una detección de metadatos mejorada:

  • IColumnsInfo::GetColumnInfo

  • IColumnsRowset::GetColumnsRowset

  • ICommandWithParameters::GetParameterInfo (consulte ICommandWithParameters para más información)

También percibirá una mejora del rendimiento si especifica el formato de metadatos mediante IBCPSession::BCPSetBulkMode.

La detección de metadatos mejorada en SQL Server Native Client es posible debido a la adición de dos procedimientos almacenados en SQL Server 2012 (11.x):

  • sp_describe_first_result_set

  • sp_describe_undeclared_parameters

Consulte también

Características de SQL Server Native Client