Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A tabela a seguir descreve a compatibilidade dos tipos de aplicativos e drivers definidos anteriormente nesta seção.
| Tipo de aplicativo e versão |
ODBC de 32 bits Driver 2.x |
ODBC 3.x controlador |
Driver ODBC 3.8 | Driver compatível com ISO e Open Group |
|---|---|---|---|---|
| Aplicativo de 16 bits, qualquer versão | Compatível | Compatível | Compatível | Compatível |
| Aplicativo Pure 2.x | Compatível | Compatível | Compatível | Não compatível[3] |
| Aplicativo recompilado puro 2.x | Compatível | Compatível[1] | Compatível[1] | Não compatível[3] |
| Aplicativo Unicode Puro 2.x | Compatível | Compatível[1] | Compatível[1] | Não compatível[3] |
| Puro Grupo Aberto e aplicativo em conformidade com ISO | Não compatível | Compatível[2] | Compatível[2] | Compatível[2] |
| Aplicativo Pure 3.0 | Não compatível | Compatível | Compatível | Não compatível[4] |
| Aplicativo Pure 3.5 | Não compatível | Compatível | Compatível | Não compatível[4] |
| Aplicativo Pure 3.8 (ou superior) | Não compatível [5] | Não compatível [5] | Compatível | Não compatível [4] |
| Aplicativo substituído | Compatível | Compatível | Compatível | Não compatível[3] |
[1] O aplicativo deve recompilar usando cabeçalhos ODBC 3.5 (ou superior) com a opção UNICODE (se for um aplicativo Unicode) e deve definir ODBCVER como 0x0250.
[2] O aplicativo deve ser compilado usando cabeçalhos ODBC 3.5 (ou superior) e vincular com o Gerenciador de Driver ODBC. Ele também deve definir o sinalizador de cabeçalho ODBC_STD.
[3] Essa configuração pode potencialmente não funcionar porque há recursos no ODBC 2.x que não estão nos padrões, como bookmarks.
[4] Essa configuração pode falhar em funcionar porque há recursos no ODBC 3.x que não estão nos padrões, como marcadores.
[5] Essa configuração pode potencialmente falhar porque há recursos no ODBC 3.8 que não estão em drivers ODBC 2.x ou 3.x, como tipos de dados C específicos do driver no ODBC.
Compatibilidade do Gerenciador de Driver
Um aplicativo ODBC 3.0 que deve operar com todas as versões do Gerenciador de Driver deve fazer o seguinte na inicialização:
Alocar um identificador de ambiente.
Defina o atributo de ambiente SQL_ATTR_ODBC_VERSION como SQL_OV_ODBC3_80. Se o Gerenciador de Driver retornar SQL_ERROR, o Gerenciador de Driver é mais antigo que 3,8. Redefina SQL_ATTR_ODBC_VERSION para SQL_OV_ODBC3 ou SQL_OV_ODBC2, conforme apropriado, para corresponder ao Gerenciador de Driver.
Alocar um identificador de conexão.
Estabeleça uma conexão.
Chame SQLGetInfo para SQL_DRIVER_ODBC_VER para determinar a versão do driver. Se o driver for um driver ODBC 3.8, você poderá utilizar tipos C específicos do driver. Caso contrário, não use tipos de dados específicos do driver em C.
Observe que um aplicativo ODBC 3.x recompilado pode usar recursos ODBC 3.8 diferentes de tipos C específicos do driver sem especificar SQL_OV_ODBC3_80 para SQL_ATTR_ODBC_VERSION. Isso é semelhante a um aplicativo ODBC 2.x recompilado usando recursos ODBC 3.x.
Usando SQLCancelHandle em um aplicativo compatível com todos os Gerenciadores de Driver
Como a função SQLCancelHandle não tem suporte em Gerenciador de Driver que foram lançados antes do Windows 7, um aplicativo não poderá ser carregado em versões mais antigas do Windows se chamar SQLCancelHandle diretamente. Para trabalhar com todas as versões do Driver Managers e usar SQLCancelHandle em novas versões do Windows, um aplicativo deve chamar SQLCancelHandle indiretamente usando LoadLibrary e GetProcAddress.