Mi dispiace aggiungere una seconda risposta, ma se nella stessa macchina sono installati client a 64 bit e 32 bit, potresti riscontrare anche questo problema.
Due client installati
C:\oracle\product\11.2.0\client32Bit
C:\oracle\product\11.2.0\client64Bit
Controlla il tuo percorso Variabile d'ambiente. Quale client Oracle è il primo, viene caricato prima dell'altro.
echo %PATH%
XXXX;C:\oracle\product\11.2.0\client64Bit\BIN;XXX
Poiché il mio client Oracle a 64 bit è il primo in PATH, VS.NET tenta di usarlo per Oracle Connections e genera 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"
Dopo questo puoi connettere Oracle. Ovviamente puoi inserire il client a 32 bit prima nel percorso, ma preferisco mettere il client a 64 bit prima di 32 bit per altre applicazioni.