Účinky možností ISO

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytický platformní systém (PDW)

Standard ODBC je úzce srovnán se standardem ISO a aplikace ODBC očekávají standardní chování od ovladače ODBC. Aby jeho chování více odpovídalo tomu, co je definováno ve standardu ODBC, ovladač SQL Server Native Client ODBC vždy používá jakékoli ISO možnosti dostupné ve verzi SQL Server, se kterou se připojuje.

Když se ovladač ODBC pro nativního klienta SQL Server připojí k instanci SQL Server, server detekuje, že klient používá ovladač ODBC pro nativního klienta SQL Server, a nastaví několik možností.

Řidič tato prohlášení vydává sám; aplikace ODBC o ně nic nedělá. Nastavení těchto možností umožňuje aplikacím ODBC používajícím ovladač být přenosnější, protože chování serveru odpovídá ISO standardu.

Aplikace založené na databázových knihovnách tyto možnosti obvykle nezapínají. Stránky, které pozorují odlišné chování mezi ODBC nebo DB-Library klienty při spuštění stejného SQL příkazu, by neměly předpokládat, že to ukazuje na problém s ovladačem ODBC pro nativního klienta SQL Server. Nejprve by měli příkaz znovu spustit v prostředí DB-Library se stejnými SET možnostmi, jaké by používal ovladač SQL Server Native Client ODBC.

Protože SET možnosti lze kdykoli zapínat a vypínat uživateli i aplikacemi, vývojáři uložených procedur a spouštěčů by měli také pečlivě testovat své postupy a spouštěče s výše uvedenými SET možnostmi zapnutými i vypnutými. To zajišťuje, že postupy a spouštěče fungují správně bez ohledu na to, jaké možnosti má konkrétní spojení nastavené při spuštění procedury nebo spouštění. Spouštěče nebo uložené procedury, které vyžadují určité nastavení pro jednu z těchto možností, by měly na začátku spouštěče nebo uložené procedury vydat příkaz.SET Tento SET příkaz platí pouze při spuštění spouštěče nebo uložené procedury; když procedura nebo spouštěč skončí, původní nastavení je obnoveno.

Při připojení k instanci SQL Server je také nastavena čtvrtá SET možnost, CONCAT_NULL_YIELDS_NULL, . Nativní klientský ODBC ovladač SQL Server nenastavuje tyto možnosti na to, zda je AnsiNPW=NO specifikováno ve zdroji dat nebo v SQLDriverConnect či SQLBrowseConnect.

Stejně jako dříve zmíněné ISO možnosti, ovladač SQL Server Native Client ODBC tuto možnost nezapínáQUOTED_IDENTIFIER, pokud je QuotedID=NO uvedeno ve zdroji dat nebo v SQLDriverConnect či SQLBrowseConnect.

Aby ovladač znal aktuální stav SET možností, ODBC aplikace by neměly používat příkaz Transact-SQL SET k nastavení těchto možností. Tyto možnosti by měli nastavit pouze pomocí zdroje dat nebo možností připojení. Pokud aplikace vydává SET příkazy, ovladač může generovat nesprávné SQL příkazy.

Viz také

Provádění výroků (ODBC)
Sqldriverconnect
Sqlbrowseconnect