Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

BadImageFormatException ao usar Oracle Client 64 bits e Visual Studio 2010!


Sinto muito por adicionar uma segunda resposta, mas se você tiver clientes de 64 bits e 32 bits instalados na mesma máquina, também poderá encontrar esse problema.

Dois clientes instalados
C:\oracle\product\11.2.0\client32Bit
C:\oracle\product\11.2.0\client64Bit

Controle sua variável de ambiente de caminho. Qual cliente Oracle é o primeiro, ele é carregado antes do outro.
 echo %PATH%
 XXXX;C:\oracle\product\11.2.0\client64Bit\BIN;XXX

Como meu cliente Oracle de 64 bits é o primeiro em PATH, o VS.NET tenta usá-lo para conexões Oracle e lança uma exceção de imagem inválida.
  set PATH=C:\oracle\product\11.2.0\client32Bit\BIN;%PATH%
  REM Visual Studio 2008
  "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"
  REM Visual Studio 2010
  "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe"

Depois disso, você pode conectar o oracle. Claro que você pode colocar o cliente de 32 bits primeiro no caminho, mas eu prefiro colocar o cliente de 64 bits antes de 32 bits para outros aplicativos.