Oracle
 sql >> Datenbank >  >> RDS >> Oracle

BadImageFormatException bei Verwendung von Oracle Client 64 Bit und Visual Studio 2010!

Es tut mir leid, dass ich eine zweite Antwort hinzufüge, aber wenn Sie 64-Bit- und 32-Bit-Clients auf demselben Computer installiert haben, kann dieses Problem ebenfalls auftreten.

Zwei Clients installiert

C:\oracle\product\11.2.0\client32Bit
C:\oracle\product\11.2.0\client64Bit

Kontrollieren Sie Ihre Pfad-Umgebungsvariable. Welcher Oracle-Client zuerst kommt, wird vor anderen geladen.

 echo %PATH%
 XXXX;C:\oracle\product\11.2.0\client64Bit\BIN;XXX

Da sich mein 64-Bit-Oracle-Client an erster Stelle in PATH befindet, versucht VS.NET, ihn für Oracle-Verbindungen zu verwenden, und löst eine Bad Image-Ausnahme aus.

  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"

Danach können Sie Oracle verbinden. Natürlich können Sie den 32-Bit-Client an erster Stelle im Pfad setzen, aber für andere Anwendungen bevorzuge ich den 64-Bit-Client vor dem 32-Bit.