Sdílet prostřednictvím


Matice kompatibility

Následující tabulka popisuje kompatibilitu typů aplikací a ovladačů definovaných dříve v této části.

Typ aplikace

a verze
32bitová verze ODBC

Ovladač 2.x
ODBC 3.x

driver
Ovladač ODBC 3.8 Ovladač kompatibilní se standardem ISO a standardem Open Group
16bitová aplikace, libovolná verze Kompatibilní Kompatibilní Kompatibilní Kompatibilní
Čistá 2.x aplikace Kompatibilní Kompatibilní Kompatibilní Nekompatibilní[3]
Rekompilovaná aplikace pure 2.x Kompatibilní Kompatibilní[1] Kompatibilní[1] Nekompatibilní[3]
Pure Unicode aplikace 2.x Kompatibilní Kompatibilní[1] Kompatibilní[1] Nekompatibilní[3]
Čistě otevřená skupina a aplikace kompatibilní se standardem ISO Není kompatibilní Kompatibilní[2] Kompatibilní[2] Kompatibilní[2]
Čistá aplikace 3.0 Není kompatibilní Kompatibilní Kompatibilní Nekompatibilní[4]
Čistá aplikace 3.5 Není kompatibilní Kompatibilní Kompatibilní Nekompatibilní[4]
Čistě 3.8 (nebo vyšší) aplikace Nekompatibilní [5] Nekompatibilní [5] Kompatibilní Nekompatibilní [4]
Nahrazená aplikace Kompatibilní Kompatibilní Kompatibilní Nekompatibilní[3]

[1] Aplikace musí překompilovat pomocí hlaviček ODBC 3.5 (nebo vyšší) s možností UNICODE (pokud se jedná o aplikaci Unicode) a musí rozhraní ODBCVER nastavit na 0x0250.

[2] Aplikace musí kompilovat pomocí hlaviček ODBC 3.5 (nebo vyšších) a propojit se správcem ovladačů ODBC. Musí také nastavit příznak záhlaví ODBC_STD.

[3] Tato konfigurace může potenciálně selhat, protože rozhraní ODBC 2.x neobsahuje funkce, které nejsou ve standardech, jako jsou záložky.

[4] Tato konfigurace může potenciálně selhat, protože rozhraní ODBC 3.x neobsahuje funkce, které nejsou ve standardech, jako jsou záložky.

[5] Tato konfigurace může potenciálně selhat, protože rozhraní ODBC 3.8 neobsahuje funkce, které nejsou v ovladačích ODBC 2.x nebo 3.x, jako jsou datové typy jazyka C specifické pro ovladače v rozhraní ODBC.

Kompatibilita správce ovladačů

Aplikace ODBC 3.0, která musí pracovat se všemi verzemi Správce ovladačů, by měla při spuštění provést následující:

  • Přidělit popisovač prostředí

  • Nastavte atribut prostředí SQL_ATTR_ODBC_VERSION na SQL_OV_ODBC3_80. Pokud správce ovladačů vrátí SQL_ERROR, správce ovladačů je starší než 3.8. Obnovte SQL_ATTR_ODBC_VERSION na SQL_OV_ODBC3 nebo SQL_OV_ODBC2, podle potřeby, aby odpovídal správci ovladačů.

  • Přidělit popisovač připojení

  • Vytvořte připojení.

  • Zavolejte SQLGetInfo pro SQL_DRIVER_ODBC_VER k určení verze ovladače. Pokud je ovladač ODBC 3.8, můžete použít typy jazyka C specifické pro ovladač. Jinak nepoužívejte datové typy jazyka C specifické pro ovladače.

Všimněte si, že rekompilovaná aplikace ODBC 3.x může používat jiné funkce ODBC 3.8 než typy jazyka C specifické pro ovladače bez zadání SQL_OV_ODBC3_80 pro SQL_ATTR_ODBC_VERSION. Podobá se rekompilované aplikaci ODBC 2.x pomocí funkcí ODBC 3.x.

Použití sqlCancelHandle v aplikaci kompatibilní se všemi správci ovladačů

Protože funkce SQLCancelHandle není podporována v Správci ovladačů, které byly vydány před Windows 7, nelze aplikaci načíst ve starších verzích Systému Windows, pokud volá SQLCancelHandle přímo. Chcete-li pracovat se všemi verzemi správce ovladačů a používat SQLCancelHandle v nových verzích Systému Windows, aplikace by měla volat SQLCancelHandle nepřímo pomocí LoadLibrary a GetProcAddress.

Viz také

Co je nového v rozhraní ODBC 3.8