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.