Objevování metadat v nativním klientovi SQL Server

platí pro:SQL ServerAzure SQL Databaseazure SQL Managed Instanceazure Synapse Analytics

Important

SQL Server Native Client (SNAC) není dodáván s:

  • SQL Server 2022 (16.x) a novější verze
  • SQL Server Management Studio 19 a novější verze

Pro vývoj nových aplikací se nedoporučuje nativní klient SQL Serveru (SQLNCLI nebo SQLNCLI11) a starší zprostředkovatel Microsoft OLE DB pro SQL Server (SQLOLEDB).

Pro nové projekty použijte jeden z následujících ovladačů:

Informace o SQLNCLI, které se dodává jako součást databázového stroje SQL Serveru (verze 2012 až 2019), naleznete v tomto support lifecycle exception.

Vylepšení objevování metadat v SQL Server 2012 (11.x) umožňuje aplikacím SQL Server Native Client zajistit, že metadata sloupců nebo parametrů vrácená při vykonání dotazu jsou identická nebo kompatibilní s formátem metadat, který jste určili před vykonáním dotazu. Dostanete chybu, pokud metadata vrácená po provedení dotazu nejsou kompatibilní s formátem metadat, který jste před vykonáním dotazu zadali.

V funkcích bcp a ODBC a IBCPSession a IBCPSession2 rozhraní nyní můžete nastavit zpožděné čtení (zpožděné objevování metadat), abyste se vyhnuli objevování metadat při operacích vyhledávání. To zlepšuje výkon a eliminuje selhání při objevování metadat.

Pokud vyvíjíte aplikaci pomocí SQL Server Native Client v SQL Server 2012 (11.x), ale připojíte se k serverové verzi starší než SQL Server 2012 (11.x), funkce pro objevování metadat bude odpovídat verzi serveru.

Remarks

Následující funkce bcp byly v SQL Server 2012 (11.x) vylepšeny pro lepší objevování metadat:

Zlepšení výkonu uvidíte také při zadávání formátu metadat pomocí bcp_setbulkmode.

bcp_control má novou eOption pro řízení chování bcp_readfmt: BCPDELAYREADFMT.

Následující funkce ODBC byly v SQL Server 2012 (11.x) vylepšeny pro lepší objevování metadat:

Následující funkce členů OLE DB byly v SQL Server 2012 (11.x) vylepšeny pro lepší objevování metadat:

  • IColumnsInfo::GetColumnInfo

  • IColumnsRowset::GetColumnsRowset

  • ICommandWithParameters::GetParameterInfo (viz ICommandWithParameters pro více informací)

Zlepšení výkonu uvidíte také při zadávání formátu metadat pomocí IBCPSession::BCPSetBulkMode

Vylepšené objevování metadat v SQL Server Native Client je možné díky přidání dvou uložených procedur v SQL Server 2012 (11.x):

  • sp_describe_first_result_set

  • sp_describe_undeclared_parameters