Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Správce ovladačů podporuje dva vstupní body pro funkce, které přebírají řetězcové argumenty. Funkce bez příznaků (SQLDriverConnect) je ve formátu ANSI. Unicode verze je označena W (SQLDriverConnectW.)
Soubor hlaviček ODBC také podporuje funkce zdobené funkcí A (SQLDriverConnectA) pro usnadnění smíšených aplikací ANSI/Unicode. Volání funkcí A jsou ve skutečnosti voláním na nedekorovaný vstupní bod (SQLDriverConnect).
Pokud je aplikace zkompilována s _UNICODE #define, hlavičkový soubor ODBC bude mapovat nezměněná volání funkce (SQLDriverConnect) na verzi Unicode (SQLDriverConnectW).
Správce ovladačů rozpozná ovladač jako ovladač Unicode, pokud ovladač SQLConnectW podporuje.
Pokud je ovladač Unicode, správce ovladačů provede volání funkce následujícím způsobem:
Předá funkci bez řetězcových argumentů nebo parametrů přímo do ovladače.
Předá funkce Unicode (s příponou W) přímo do ovladače.
Převede funkci ANSI (s příponou A ) na funkci Unicode (s příponou W ) převodem řetězcových argumentů na znaky Unicode a předá funkci Unicode ovladači.
Pokud je ovladač ANSI, správce ovladačů provádí volání funkce následujícím způsobem:
Předává funkce bez řetězcových argumentů nebo parametrů přímo do ovladače.
Převede funkce Unicode (s příponou W ) na volání funkce ANSI a předá je ovladači.
Předá funkci ANSI přímo ovladači.
Správce ovladačů interně podporuje Unicode. V důsledku toho je optimální výkon získán aplikací Unicode pracující s ovladačem Unicode, protože Správce ovladačů jednoduše předává funkce Unicode ovladači. Když aplikace ANSI pracuje s ovladačem ANSI, správce ovladačů musí při zpracování některých funkcí, jako je SQLDriverConnect, převést řetězce z ANSI na Unicode. Po zpracování funkce musí Správce ovladačů převést řetězec Unicode zpět na ANSI před odesláním funkce do ovladače ANSI.
Aplikace by neměla upravovat ani číst vyrovnávací paměti vázaných parametrů, když ovladač vrátí SQL_STILL_EXECUTING nebo SQL_NEED_DATA. Správce ovladačů ponechává vyrovnávací paměti vázané na ANSI, dokud ovladač nevrátí SQL_SUCCESS, SQL_SUCCESS_WITH_INFO nebo SQL_ERROR. Vícevláknová aplikace by neměla získat přístup k žádným vázaným hodnotám parametrů, na které spouští jiné vlákno příkaz SQL. Správce ovladačů převede data z Unicode na ANSI přímo na místě a druhé vlákno by mohlo v těchto vyrovnávacích pamětích vidět data ANSI, zatímco ovladač stále zpracovává příkaz SQL. Aplikace, které sváže data Unicode s ovladačem ANSI, nesmí svázat dva různé sloupce se stejnou adresou.