मुझे दूसरा उत्तर जोड़ने के लिए खेद है, लेकिन यदि आपके पास एक ही मशीन में 64 बिट और 32 बिट क्लाइंट स्थापित हैं, तो आप भी इस समस्या का सामना कर सकते हैं।
दो क्लाइंट स्थापित हैं
C:\oracle\product\11.2.0\client32Bit
C:\oracle\product\11.2.0\client64Bit
अपने पथ को नियंत्रित करें पर्यावरण चर। कौन सा Oracle क्लाइंट पहले है, इसे दूसरे से पहले लोड किया जाता है।
echo %PATH%
XXXX;C:\oracle\product\11.2.0\client64Bit\BIN;XXX
चूंकि मेरा 64 बिट Oracle क्लाइंट पहले PATH में है, VS.NET इसे Oracle कनेक्शन के लिए उपयोग करने का प्रयास करता है और खराब छवि अपवाद को फेंकता है।
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"
इसके बाद आप oracle को कनेक्ट कर सकते हैं। बेशक आप 32 बिट क्लाइंट को पहले रास्ते में रख सकते हैं लेकिन मैं अन्य अनुप्रयोगों के लिए 32 बिट से पहले 64 बिट क्लाइंट रखना पसंद करता हूं।