如何爲Delphi xe(運行32位並具有32位客戶端)安裝64位客戶端 我可以在同一臺機器上同時運行32位客戶端和64位客戶端嗎?用於Delphi xe的64位Oracle客戶端
我正在開發一個64位應用程序,所以我需要使用32位客戶端64位客戶端
我得到
sourceException {「嘗試加載Oracle客戶端庫扔BadImageFormatException。這個問題會「System.Exception {System.InvalidOperationException}
如何爲Delphi xe(運行32位並具有32位客戶端)安裝64位客戶端 我可以在同一臺機器上同時運行32位客戶端和64位客戶端嗎?用於Delphi xe的64位Oracle客戶端
我正在開發一個64位應用程序,所以我需要使用32位客戶端64位客戶端
我得到
sourceException {「嘗試加載Oracle客戶端庫扔BadImageFormatException。這個問題會「System.Exception {System.InvalidOperationException}
如果客戶端的意思是某些x64 dll被加載到進入64位模式並且安裝了32位Oracle客戶端組件德爾福的x86應用程序,你不能這樣做。如果客戶是某個其他進程並使用某種形式的進程間通信,則可以這樣做。
那麼你的選擇是:
從錯誤消息中,我認爲您問的是32位和64位Oracle客戶端是否可以在同一臺計算機上共存。
顯然,they can。我沒有自己做過,所以你可能需要挖掘更多的細節。
我在組織中看到過很多次,因爲他們安裝了64位操作系統(Windows 7/Windows 2008 R2),他們認爲他們必須安裝64位Oracle客戶端。
操作系統不控制這個,應用程序。
Delphi XE是一個32位應用程序。它只能生成32位應用程序。
在您澄清您的問題後更新。
客戶端應用程序,然後需要足夠聰明以加載正確的庫。通常,最後安裝的客戶端安裝在系統路徑上。這通常是 也是默認主頁。
應用程序加載OCI庫(OCI.DLL)它們通常會通過loadlibrary('oci.dll')
執行此操作,它將在系統路徑中查找OCI.DLL的版本。
我懷疑是導致你的錯誤發生了什麼。
loadlibrary
可以使用完整路徑名稱來指定要使用的客戶端。 LoadLibrary('C:\app\oracle\product\11.2.0\client_1\bin\oci.dll')
默認情況下,Delphi在系統搜索路徑中使用oracle主目錄。
雖然我從來沒有嘗試過,你應該能夠在Delphi中dbxdrivers.ini文件中指定OCI.DLL的完整版本 指定實際的Oracle 家裏,你要使用。
Delphi XE是一個32位應用程序,它只能生成32位應用程序。您可以使用32位應用程序生成64位應用程序:它被稱爲交叉編譯器。例如FPC可以從32位交叉編譯鏈AFAIK產生64位exe文件。 – 2011-06-01 19:52:52
請修改您的標題以更準確地反映您希望解決的問題。即「64位Oracle客戶端」將會有所幫助。 – 2011-06-01 20:59:59