Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
En la tabla siguiente se describe la compatibilidad de los tipos de aplicaciones y controladores definidos anteriormente en esta sección.
| Tipo de aplicación y versión |
ODBC de 32 bits Controlador 2.x |
ODBC 3.x driver |
Controlador ODBC 3.8 | Controlador compatible con ISO y Open Group |
|---|---|---|---|---|
| Aplicación de 16 bits, cualquier versión | Compatible | Compatible | Compatible | Compatible |
| Aplicación Pure 2.x | Compatible | Compatible | Compatible | No es compatible[3] |
| Aplicación recompilada pura 2.x | Compatible | Compatible[1] | Compatible[1] | No es compatible[3] |
| Aplicación Unicode pura 2.x | Compatible | Compatible[1] | Compatible[1] | No compatible[3] |
| Pure Open Group y aplicación compatible con ISO | No es compatible | Compatible[2] | Compatible[2] | Compatible[2] |
| Aplicación Pure 3.0 | No es compatible | Compatible | Compatible | No es compatible[4] |
| Aplicación pure 3.5 | No es compatible | Compatible | Compatible | No es compatible[4] |
| Aplicación Pure 3.8 (o superior) | No es compatible [5] | No es compatible [5] | Compatible | No es compatible [4] |
| Aplicación reemplazada | Compatible | Compatible | Compatible | No es compatible[3] |
[1] La aplicación debe volver a compilarse con encabezados ODBC 3.5 (o posteriores) con la opción UNICODE (si es una aplicación Unicode) y debe establecer ODBCVER en 0x0250.
[2] La aplicación debe compilarse con encabezados ODBC 3.5 (o posteriores) y vincular con el Administrador de controladores ODBC. También debe establecer la marca de encabezado ODBC_STD.
[3] Esta configuración puede no funcionar porque hay características en ODBC 2.x que no están en los estándares, como marcadores.
[4] Esta configuración puede no funcionar porque hay características en ODBC 3.x que no están en los estándares, como marcadores.
[5] Esta configuración puede producir un error porque hay características en ODBC 3.8 que no están en controladores ODBC 2.x o 3.x, como tipos de datos C específicos del controlador en ODBC.
Compatibilidad del Administrador de Drivers
Una aplicación ODBC 3.0 que debe funcionar con todas las versiones de Driver Manager debe hacer lo siguiente al iniciarse:
Asigne un identificador de entorno.
Establezca el atributo de entorno SQL_ATTR_ODBC_VERSION en SQL_OV_ODBC3_80. Si el Administrador de controladores devuelve SQL_ERROR, el Administrador de controladores es anterior a la 3.8. Restablezca SQL_ATTR_ODBC_VERSION en SQL_OV_ODBC3 o SQL_OV_ODBC2, según corresponda, para corresponder al Administrador de controladores.
Asigne un identificador de conexión.
Realice una conexión.
Llame a SQLGetInfo para SQL_DRIVER_ODBC_VER para determinar la versión del controlador. Si el controlador es un controlador ODBC 3.8, puede usar tipos de C específicos del controlador. De lo contrario, no use tipos de datos de C específicos del controlador.
Tenga en cuenta que una aplicación ODBC 3.x recompilada puede utilizar características de ODBC 3.8 aparte de los tipos C específicos del controlador sin necesidad de especificar SQL_OV_ODBC3_80 para SQL_ATTR_ODBC_VERSION. Esto es similar a una aplicación ODBC 2.x recompilada utilizando características de ODBC 3.x.
Uso de SQLCancelHandle en una aplicación compatible con todos los administradores de controladores
Dado que la función SQLCancelHandle no es compatible con los administradores de controladores que se publicaron antes de Windows 7, una aplicación no se puede cargar en versiones anteriores de Windows si llama directamente a SQLCancelHandle . Para que una aplicación funcione con todas las versiones de los administradores de controladores y utilice SQLCancelHandle en las nuevas versiones de Windows, debe emplear SQLCancelHandle de forma indirecta usando LoadLibrary y GetProcAddress.