Detección de metadatos
La mejora de la detección de metadatos en SQL Server 2012 permite que las aplicaciones de SQL Server Native Client tengan la seguridad de que los metadatos de parámetro o columna que se devuelven de la ejecución de una consulta son idénticos o compatibles con el formato de los metadatos especificados 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 utilizando SQL Server Native Client de SQL Server 2012 pero se conecta a una versión de servidor anterior a SQL Server 2012, la funcionalidad de detección de metadatos se corresponderá con la versión del servidor.
Comentarios
Las funciones bcp siguientes se han perfeccionado en SQL Server 2012 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 un nuevo parámetro eOption para controlar el comportamiento de bcp_readfmt: BCPDELAYREADFMT.
Las funciones ODBC siguientes se han perfeccionado en SQL Server 2012 para proporcionar una detección de metadatos mejorada:
Las funciones miembro de OLE DB siguientes se han perfeccionado en SQL Server 2012 para proporcionar una detección de metadatos mejorada:
IColumnsInfo::GetColumnInfo
IColumnsRowset::GetColumnsRowset
ICommandWithParameters::GetParameterInfo (vea ICommandWithParameters para obtener más información)
También notará una mejora del rendimiento si especifica el formato de metadatos utilizando IBCPSession::BCPSetBulkMode
La detección del metadatos mejorada en SQL Server Native Client es posible debido a la unión de dos procedimientos almacenados de SQL Server 2012:
sp_describe_first_result_set
sp_describe_undeclared_parameters