Обнаружение метаданных в собственном клиенте SQL Server
Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)
Внимание
SQL Server Native Client (SNAC) не поставляется с:
- SQL Server 2022 (16.x) и более поздних версий
- SQL Server Management Studio 19 и более поздних версий
Собственный клиент SQL Server (SQLNCLI или SQLNCLI11) и устаревший поставщик Microsoft OLE DB для SQL Server (SQLOLEDB) не рекомендуется для разработки новых приложений.
Для новых проектов используйте один из следующих драйверов:
Сведения о SQLNCLI, которые поставляется в качестве компонента SQL Server ядро СУБД (версии 2012–2019), см. в этом исключении жизненного цикла поддержки.
Улучшение обнаружения метаданных в SQL Server 2012 (11.x) позволяет приложениям SQL Server Native Client гарантировать, что метаданные столбца или параметра, возвращаемые из выполнения запроса, идентичны или совместимы с заданным форматом метаданных перед выполнением запроса. Если формат метаданных, возвращенных в результате выполнения запроса, будет несовместим с форматом, указанным до выполнения запроса, возвращается ошибка.
В функциях bcp и ODBC, а также интерфейсах IBCPSession и IBCPSession2 теперь можно задавать отложенное чтение (отложенное обнаружение метаданных), чтобы избежать обнаружения метаданных для операций с параметром queryout. Это позволяет повысить производительность и устранить ошибки обнаружения метаданных.
Если вы разрабатываете приложение с помощью собственного клиента SQL Server в SQL Server 2012 (11.x), но подключитесь к версии сервера раньше, чем SQL Server 2012 (11.x), функции обнаружения метаданных будут соответствовать версии сервера.
Замечания
Следующие функции bcp были улучшены в SQL Server 2012 (11.x), чтобы обеспечить улучшенное обнаружение метаданных:
Вы также увидите улучшение производительности при указании формата метаданных с помощью bcp_setbulkmode.
bcp_control имеет новый eOption для управления поведением bcp_readfmt: BCPDELAYREADFMT.
Следующие функции ODBC были улучшены в SQL Server 2012 (11.x), чтобы обеспечить улучшенное обнаружение метаданных:
Следующие функции-члены OLE DB были улучшены в SQL Server 2012 (11.x), чтобы обеспечить улучшенное обнаружение метаданных:
IColumnsInfo::GetColumnInfo
IColumnsRowset::GetColumnsRowset
ICommandWithParameters::GetParameterInfo (дополнительные сведения см. в разделе документации ICommandWithParameters).
Повышение производительности также заметно при указании формата метаданных с помощью метода IBCPSession::BCPSetBulkMode.
Улучшенное обнаружение метаданных в собственном клиенте SQL Server возможно из-за добавления двух хранимых процедур в SQL Server 2012 (11.x):
sp_describe_first_result_set
sp_describe_undeclared_parameters