Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A tabela seguinte descreve a compatibilidade dos tipos de aplicações e drivers definidos anteriormente nesta secção.
| Tipo de aplicação e versão |
ODBC de 32 bits Driver 2.x |
ODBC 3.x driver |
Driver ODBC 3.8 | Driver compatível com ISO e Open Group |
|---|---|---|---|---|
| Aplicação de 16 bits, qualquer versão | Compatível | Compatível | Compatível | Compatível |
| Uma aplicação pura 2.x | Compatível | Compatível | Compatível | Não compatível[3] |
| Aplicação 2.x pura recompilada | Compatível | Compatível[1] | Compatível[1] | Não compatível[3] |
| Aplicação pura Unicode 2.x | Compatível | Compatível[1] | Compatível[1] | Não Compatível[3] |
| Puro Open Group e aplicação compatível com ISO | Não compatível | Compatível[2] | Compatível[2] | Compatível[2] |
| Aplicação pura 3.0 | Não compatível | Compatível | Compatível | Não compatível[4] |
| Aplicação pura 3.5 | Não compatível | Compatível | Compatível | Não compatível[4] |
| Aplicação Pure 3.8 (ou superior) | Não compatível [5] | Não compatível [5] | Compatível | Não compatível [4] |
| Aplicação substituída | Compatível | Compatível | Compatível | Não compatível[3] |
[1] A aplicação deve recompilar usando cabeçalhos ODBC 3.5 (ou superiores) com a opção UNICODE (se for uma aplicação Unicode) e deve definir ODBCVER para 0x0250.
[2] A aplicação deve compilar usando cabeçalhos ODBC 3.5 (ou superiores) e ligar-se ao Gestor de Drivers ODBC. Também deve definir a bandeira de cabeçalho ODBC_STD.
[3] Esta configuração pode potencialmente falhar porque existem funcionalidades no ODBC 2.x que não estão nas normas, como os favoritos.
[4] Esta configuração pode potencialmente falhar porque existem funcionalidades no ODBC 3.x que não estão nas normas, como os favoritos.
[5] Esta configuração pode potencialmente falhar porque existem funcionalidades no ODBC 3.8 que não estão nos drivers ODBC 2.x ou 3.x, como os Tipos de Dados C específicos do driver no ODBC.
Compatibilidade do Gestor de Drivers
Uma aplicação ODBC 3.0 que deve operar com todas as versões do Driver Manager deve fazer o seguinte no arranque:
Aloca um handle de ambiente.
Defina o atributo de ambiente SQL_ATTR_ODBC_VERSION para SQL_OV_ODBC3_80. Se o Gestor de Drivers devolver SQL_ERROR, o Gestor de Drivers é anterior à versão 3.8. Reiniciar SQL_ATTR_ODBC_VERSION para SQL_OV_ODBC3 ou SQL_OV_ODBC2, conforme apropriado, para corresponder ao Driver Manager.
Aloque uma alavanca de ligação.
Faz uma ligação.
Chame o SQLGetInfo para o SQL_DRIVER_ODBC_VER para determinar a versão do driver. Se o driver for um driver ODBC 3.8, pode usar tipos C específicos do driver. Caso contrário, não utilize tipos de dados C específicos do driver.
Note que uma aplicação ODBC 3.x recompilada pode usar funcionalidades ODBC 3.8 que não sejam tipos C específicos do driver sem especificar SQL_OV_ODBC3_80 para SQL_ATTR_ODBC_VERSION. Isto é semelhante a uma aplicação ODBC 2.x recompilada usando funcionalidades ODBC 3.x.
Usar SQLCancelHandle numa Aplicação Compatível com todos os Gestores de Drivers
Como a Função SQLCancelHandle não é suportada nos Gestores de Drivers lançados antes do Windows 7, uma aplicação não pode ser carregada em versões mais antigas do Windows se chamar SQLCancelHandle diretamente. Para trabalhar com todas as versões dos Gestores de Drivers e usar SQLCancelHandle em novas versões do Windows, uma aplicação deve chamar SQLCancelHandle indiretamente usando LoadLibrary e GetProcAddress.