Types of Changes
Three types of changes are made in ODBC 3.x (and any version of ODBC). Each of these affects backward compatibility differently and is handled in a different way. These changes are described in the following table.
Type of change
These are features that are new to ODBC 3.x, such as out-of-line binding or descriptors. These are implemented only when the application and driver, as well as the Driver Manager, are of version 3.x, so there is no attempt to make these backward compatible.
These are features that exist in ODBC 2.x and ODBC 3.x but are implemented in different ways in each. The functions SQLAllocHandle and SQLAllocStmt are an example. Backward compatibility issues for these and other duplicated features are mostly handled by mappings in the Driver Manager.
These are features that are handled differently in ODBC 2.x and ODBC 3.x. A datetime #define is an example. These features are handled by the ODBC 3.x driver based on an environment attribute setting. (See Behavioral Changes for more information.)