Поделиться через


Обнаружение метаданных в собственном клиенте 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

См. также

Компоненты собственного клиента SQL Server