The following table describes the compatibility of the types of applications and drivers defined previously in this chapter.
Application type and version |
32-bit ODBC 2.x driver |
ODBC 3.x driver |
ISO and X/Open– compliant driver |
16-bit application, any version | Compatible | Compatible | Compatible |
Pure 2.x application | Compatible | Compatible | Not compatible [3] |
Pure 2.x recompiled application | Compatible | Compatible [1] | Not compatible [3] |
Pure 2.x Unicode application | Compatible | Compatible [1] | Not Compatible [3] |
Pure X/Open and ISO – compliant application | Not compatible | Compatible [2] | Compatible [2] |
Pure 3.0 application | Not compatible | Compatible | Not compatible [4] |
Pure 3.5 (or higher) application | Not compatible | Compatible | Not compatible [4] |
Replaced application | Compatible | Compatible | Not compatible [3] |
[1] The application must recompile using ODBC 3.5 (or higher) headers with the UNICODE option (if it is a Unicode application) and must set ODBCVER to 0x0250.
[2] The application must compile using ODBC 3.5 (or higher) headers, and link with the ODBC Driver Manager. It must also set the header flag ODBC_STD.
[3] This configuration can potentially fail to work because there are features in ODBC 2.x that are not in the standards, such as bookmarks.
[4] This configuration can potentially fail to work because there are features in ODBC 3.x that are not in the standards, such as bookmarks.