Odkrywanie metadanych w natywnym kliencie SQL Server

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Ważna

Klient natywny SQL Servera (SNAC) nie jest dostarczany z:

  • SQL Server 2022 (16.x) i nowsze wersje
  • SQL Server Management Studio 19 i nowsze wersje

Program SQL Server Native Client (SQLNCLI lub SQLNCLI11) oraz starszy dostawca microsoft OLE DB dla programu SQL Server (SQLOLEDB) nie są zalecane w przypadku tworzenia nowych aplikacji.

W przypadku nowych projektów użyj jednego z następujących sterowników:

W przypadku programu SQLNCLI dostarczanego jako składnik aparatu bazy danych programu SQL Server (wersje 2012–2019), proszę sprawdzić wyjątek cyklu wsparcia .

Ulepszenie wykrywania metadanych w SQL Server 2012 (11.x) pozwala aplikacjom SQL Server Native Client zapewnić, że metadane kolumn lub parametrów zwracane podczas wykonania zapytania są identyczne lub zgodne z formatem metadanych wskazanym przed wykonaniem zapytania. Otrzymasz błąd, jeśli metadane zwracane po wykonaniu zapytania nie są zgodne z formatem metadanych wskazanym przed wykonaniem zapytania.

W funkcjach bcp i ODBC oraz interfejsach IBCPSession i IBCPSession2 można teraz określić opóźniony odczyt (opóźnione odkrywanie metadanych), aby uniknąć wykrywania metadanych podczas operacji wyjścia zapytań. Poprawia to wydajność i eliminuje błędy wykrywania metadanych.

Jeśli tworzysz aplikację korzystając z natywnego klienta SQL Server w SQL Server 2012 (11.x), ale połączysz się z wersją serwera wcześniejszą niż SQL Server 2012 (11.x), funkcjonalność wykrywania metadanych będzie odpowiadać wersji serwera.

Remarks

Następujące funkcje bcp zostały ulepszone w SQL Server 2012 (11.x), aby zapewnić lepsze odkrywanie metadanych:

Poprawę wydajności zauważysz także przy określaniu formatu metadanych za pomocą bcp_setbulkmode.

bcp_control posiada nową eOpcję kontrolującą zachowanie bcp_readfmt: BCPDELAYREADFMT.

Następujące funkcje ODBC zostały ulepszone w SQL Server 2012 (11.x), aby zapewnić lepsze odkrywanie metadanych:

Następujące funkcje członkowskie OLE DB zostały ulepszone w SQL Server 2012 (11.x), aby zapewnić lepsze odkrywanie metadanych:

  • IColumnsInfo::GetColumnInfo

  • IColumnsRowset::GetColumnsRowset

  • ICommandWithParameters::GetParameterInfo (zobacz ICommandWithParameters , aby uzyskać więcej informacji)

Poprawę wydajności zauważysz także przy określaniu formatu metadanych za pomocą IBCPSession::BCPSetBulkMode

Ulepszone wykrywanie metadanych w natywnym kliencie SQL Server jest możliwe dzięki dodaniu dwóch procedur przechowywanych w SQL Server 2012 (11.x):

  • sp_describe_first_result_set

  • sp_describe_undeclared_parameters