Обнаружение метаданных
Улучшение обнаружения метаданных в SQL Server 2012 позволяет SQL Server Native Client приложениям гарантировать, что метаданные столбцов или параметров, возвращаемых при выполнении запроса, идентичны или совместимы с форматом метаданных, указанным перед выполнением запроса, или совместимы с ним. Если формат метаданных, возвращенных в результате выполнения запроса, будет несовместим с форматом, указанным до выполнения запроса, возвращается ошибка.
В функциях bcp и ODBC, а также интерфейсах IBCPSession и IBCPSession2 теперь можно задавать отложенное чтение (отложенное обнаружение метаданных), чтобы избежать обнаружения метаданных для операций с параметром queryout. Это позволяет повысить производительность и устранить ошибки обнаружения метаданных.
Если вы разрабатываете приложение с помощью SQL Server Native Client в SQL Server 2012, но подключаетесь к версии сервера, предшествующей SQL Server 2012, функции обнаружения метаданных будут соответствовать версии сервера.
Комментарии
Следующие функции bcp были усовершенствованы в SQL Server 2012 году, чтобы обеспечить улучшенное обнаружение метаданных:
Вы также увидите повышение производительности при указании формата метаданных с помощью bcp_setbulkmode.
bcp_control добавлена новая функция eOption для управления поведением bcp_readfmt: BCPDELAYREADFMT
.
Следующие функции ODBC были улучшены в SQL Server 2012 г., чтобы обеспечить улучшенное обнаружение метаданных:
Следующие функции-члены OLE DB были улучшены в SQL Server 2012 для улучшения обнаружения метаданных:
IColumnsInfo::GetColumnInfo
IColumnsRowset::GetColumnsRowset
ICommandWithParameters::GetParameterInfo (дополнительные сведения см. в разделе документации ICommandWithParameters).
Повышение производительности также заметно при указании формата метаданных с помощью метода IBCPSession::BCPSetBulkMode.
Улучшенное обнаружение метаданных в SQL Server Native Client возможно благодаря добавлению двух хранимых процедур в SQL Server 2012 г.:
sp_describe_first_result_set
sp_describe_undeclared_parameters