Обнаружение метаданных в собственном клиенте SQL Server

Применимо к:SQL ServerAzure SQL DatabaseAzure Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Внимание

Собственный клиент SQL Server (часто сокращенный SNAC) был удален из SQL Server 2022 (16.x) и SQL Server Management Studio 19 (SSMS). Собственный клиент SQL Server (SQLNCLI или SQLNCLI11) и устаревший поставщик Microsoft OLE DB для SQL Server (SQLOLEDB) не рекомендуется для разработки новых приложений. Перейдите на новый драйвер Microsoft OLE DB (MSOLEDBSQL) для SQL Server или последний драйвер Microsoft ODBC для SQL Server . Сведения о 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