Delen via


Compatibiliteitsmatrix

In de volgende tabel wordt de compatibiliteit beschreven van de typen toepassingen en stuurprogramma's die eerder in deze sectie zijn gedefinieerd.

Toepassingstype

en versie
32-bits ODBC

2.x-stuurprogramma
ODBC 3.x

driver
ODBC 3.8-stuurprogramma ISO- en Open Group-compliant driver
16-bits toepassing, elke versie Compatibel Compatibel Compatibel Compatibel
Pure 2.x-toepassing Compatibel Compatibel Compatibel Niet compatibel[3]
Pure 2.x opnieuw gecompileerde toepassing Compatibel Compatibel[1] Compatibel[1] Niet compatibel[3]
Pure 2.x Unicode-toepassing Compatibel Compatibel[1] Compatibel[1] Niet compatibel[3]
Pure Open Group en ISO-compatibele toepassing Niet compatibel Compatibel[2] Compatibel[2] Compatibel[2]
Pure 3.0-toepassing Niet compatibel Compatibel Compatibel Niet compatibel[4]
Pure 3.5 applicatie Niet compatibel Compatibel Compatibel Niet compatibel[4]
Pure 3.8 (of hoger) toepassing Niet compatibel [5] Niet compatibel [5] Compatibel Niet compatibel [4]
Vervangen toepassing Compatibel Compatibel Compatibel Niet compatibel[3]

[1] De toepassing moet odbc 3.5 (of hoger) opnieuw compileren met de UNICODE-optie (als het een Unicode-toepassing is) en ODBCVER moet instellen op 0x0250.

[2] De toepassing moet worden gecompileerd met ODBC 3.5 -headers (of hoger) en een koppeling maken met odbc-stuurprogrammabeheer. U moet ook de header-vlag ODBC_STD instellen.

[3] Deze configuratie kan mogelijk niet werken omdat er functies zijn in ODBC 2.x die niet in de standaarden staan, zoals bladwijzers.

[4] Deze configuratie kan mogelijk niet werken omdat er functies zijn in ODBC 3.x die niet in de standaarden staan, zoals bladwijzers.

[5] Deze configuratie kan mogelijk mislukken omdat er functies zijn in ODBC 3.8 die zich niet in ODBC 2.x- of 3.x-stuurprogramma's bevinden, zoals stuurprogrammaspecifieke C-gegevenstypen in ODBC.

Compatibiliteit van Driver Manager

Een ODBC 3.0-toepassing die moet werken met alle Driver Manager-versies, moet het volgende doen bij het opstarten:

  • Een omgevinghandle toewijzen.

  • Stel het kenmerk SQL_ATTR_ODBC_VERSION omgeving in op SQL_OV_ODBC3_80. Als Driver Manager SQL_ERROR retourneert, is Driver Manager ouder dan 3.8. Stel SQL_ATTR_ODBC_VERSION zo nodig opnieuw in op SQL_OV_ODBC3 of SQL_OV_ODBC2 om te corresponderen met Driver Manager.

  • Wijs een verbindingsgreep toe.

  • Maak een verbinding.

  • Roep SQLGetInfo voor SQL_DRIVER_ODBC_VER aan om de stuurprogrammaversie te bepalen. Als het stuurprogramma een ODBC 3.8-stuurprogramma is, kunt u stuurprogrammaspecifieke C-typen gebruiken. Gebruik anders geen stuurprogrammaspecifieke C-gegevenstypen.

Houd er rekening mee dat een opnieuw gecompileerde ODBC 3.x-toepassing andere ODBC 3.8-functies kan gebruiken dan stuurprogrammaspecifieke C-typen zonder SQL_OV_ODBC3_80 op te geven voor SQL_ATTR_ODBC_VERSION. Dit is vergelijkbaar met een opnieuw gecompileerde ODBC 2.x-toepassing met behulp van ODBC 3.x-functies.

SQLCancelHandle gebruiken in een toepassing die compatibel is met alle stuurprogrammamanagers

Omdat de functie SQLCancelHandle niet wordt ondersteund in stuurprogrammamanagers die vóór Windows 7 zijn uitgebracht, kan een toepassing niet rechtstreeks in oudere versies van Windows worden geladen als sqlCancelHandle rechtstreeks wordt aangeroepen. Als u met alle versies van Stuurprogrammamanagers wilt werken en SQLCancelHandle wilt gebruiken op nieuwe versies van Windows, zou een toepassing SQLCancelHandle indirect via het gebruik van LoadLibrary en GetProcAddress moeten aanroepen.

Zie ook

Wat is er nieuw in ODBC 3.8