2011-07-03 77 views
1

我在Win 7 Professional 64位系統上安裝了VS 2008,數據庫是在同一臺機器上安裝的Oracle 11g r2。BadImageFormatException

在數據源配置嚮導 - >新建連接 數據來源:Oracle數據庫(Oracle客戶端) 當我點擊進入服務名稱,用戶名和密碼後,測試連接,我得到以下錯誤:

嘗試加載Oracle客戶端庫引發BadImageFormatException。 在安裝了32位Oracle客戶端組件的64位模式下運行時,會發生此問題。

- 我沒有安裝oracle客戶端,因爲在這種情況下沒有必要,我在我的筆記本電腦上安裝了相同的設置Win 7 32bit Oracle 11g r2 32bit,一切工作正常。

請讓我知道如果你們有這個問題的解決方案。

回答

1

我不能從你的問題中知道你對此有多瞭解。由於沒有人提出了18天的答案,我會把我的0.02美元的價值。您正在64位應用程序下運行,因此它希望加載64位.DLL。我對Oracle沒有任何瞭解,但我猜測客戶端.dll是在非託管環境中編寫的,並且不能支持託管應用程序所執行的「任何CPU」概念。你有幾個選擇。 1.在64位筆記本電腦上加載64位版本的Oracele客戶端.DLL(如果存在)。 2.不要使用嚮導的測試連接功能。您可以將您正在構建的應用程序作爲32位計算機的目標,當您運行應用程序時,您將不會遇到此問題(see this blog post有關定位的某些詳細信息)

0

VS 2008是x86應用程序,但是當您試圖設置一個新的連接數據源,您使用的是x64驅動程序。

你可以證明使用像procmon.exe這樣的工具。如果你這樣做,你可能會注意到,在開始測試連接過程之後,它會嘗試加載一些x64驅動程序,因此會出現BadImageFormatException。

解決方案是安裝Visual Studio所需的x86驅動程序。

0

只需在您的項目構建屬性中設置PlatformTarget,它就可以工作。

相關問題