Jag är ledsen att jag lägger till ett andra svar, men om du har 64-bitars- och 32-bitarsklienter installerade på samma maskin kan du också stöta på det här problemet.
Två klienter installerade
C:\oracle\product\11.2.0\client32Bit
C:\oracle\product\11.2.0\client64Bit
Styr din väg Miljövariabel. Vilken Oracle-klient som är först, den laddas före den andra.
echo %PATH%
XXXX;C:\oracle\product\11.2.0\client64Bit\BIN;XXX
Eftersom min 64-bitars Oracle-klient är först i PATH, försöker VS.NET att använda den för Oracle Connections och kastar Bad Image Exception.
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"
Efter detta kan du ansluta oracle. Naturligtvis kan du sätta 32-bitarsklienten först i sökvägen, men jag föredrar att sätta 64-bitarsklienten före 32-bitars för andra applikationer.