Eu tenho um sistema de sincronização de dados entre duas versões do Oracle, uma 7.1 rodando em um VAX e outra 10g em Windows. Estou migrando o servidor para W2K8R2 e gostaria de tirar proveito de uma VM de 64 bits porém a ODBC do Oracle 7 ainda é 32 bits. Como eu especifico no programa para que ele chame uma ODBC de 32 bits pro Oracle 7 e outrs de 64 bits pro Oracle 10g?
P.S.: Não, eu não posso fazer upgrade do Oracle 7. Se pudesse eu já teria me livrado dessa porcaria faz tempo…
Não seria possivel usar o driver do Oracle em vez de ODBC?
Agora de boa, minha experiência com Oracle e Windows não é das melhores. Tem varias consultorias de Oracle que não aceitam cliente com ambiente em Windows e a própria Oracle não recomenda usar Windows em produção.
A ODBC que eu me referi é aquela criada pelo painel de controle, o Windows 2008 R2 tem dois controladores de ODBC (32 e 64 bits). Se a minha VM for de 64 bits ela só consegue chamar DSNs criadas com o controlador de 64 bits e se a VM for de 32 bits ela só chama do controlador de 32 bits. O driver do Oracle 7 só existe em 32 bits e sendo assim eu teria que instalar o Oracle 10g em 32 bits também o que ficaria ainda pior.
Quanto a usar o Windows em produção eu também não gosto nem um pouco da idéia, mas são as políticas da empresa. A solução até o momento foi de rodar o Windows 2008 R2, instalar o Oracle 10g 32bits, VM da Sun 32 bits e o driver do Oracle 7, mas daí nem vou aproveitar nada de desempenho.
Consegui mais uma informação que talvez ajude em alguma coisa. Se você usar uma máquina virtual x64 e tentar acessar uma ODBC criada com um driver em 32 bits vai obter uma mensagem de erro na conexão informando que há uma incompatibilidade. Alguém mais já teve esse problema?