64位作業系統使用ODP.NET連線Oracle資料庫
在64位的windows作業系統中安裝了64位的Oracle後,使用C#通過Oracle.DataAccess.dll操作Oracle資料庫時,
有時候會出現如下一些錯誤:” 無法載入 DLL“OraOps10.dll”: 找不到指定的模組。”而無法連線Oracle。如果是做成windows服務呼叫,
還可能會出現如下錯誤事件日誌:“事件ID:1026,事件來源:.NET Runtime”,和“事件ID:1000,事件來源:Application Error,錯誤模組名稱: KERNELBASE.dll”。
這可能就是C#程式中呼叫的Oracle.DataAccess.dll版本不是64位,且伺服器上沒有裝64位版本的ODP.NET。
處理方法:
1. 下載64位的ODP.NET(官網有ODAC112021Xcopy_x64.zip檔案下載,地址:http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html),下載的時候要注意其中的“64-bit Oracle Data Provider for .NET”是否與開發使用的.netframework版本一致。
2. 安裝ODP.NET,大概步驟如下:
(1) 將ODAC112021Xcopy_x64.zip解壓到磁碟中的某個目錄,如:“D:\software\ODAC112021Xcopy_x64”,然後在命令列進入這個目錄,輸入如下命令:“install.bat all C:\odp.net myhome(install all components)
(2) 執行上述命令後,將自動將所有的檔案拷貝到C:\odp.net目錄下,接下來,在命令列進入C:\odp.net目錄,執行一下命令:“configure.bat all myhome(configure all component) ”。上述命令將自動想GAC註冊ODP.NET相關的dll,同時在vs2010中新增引用的時候能看到想要版本的Oracle.DataAccess.dll。