如果在安裝32位Oracle客戶端組件的情況下64位模式運行, 將出現此問題.


場景重現

  • 在一台Windows 7 32-bit電腦上
  • 安裝了Oracle 11gR2 32-bit的客戶端
  • 用 VS2010 寫的一個基於數據庫驅動的項目
  • 操作Oracle數據庫都挺正常的
  • 后來...
  • 在一台Windows 10 64-bit電腦上(其實就是升級重裝了)
  • 安裝了Oracle 11gR2 64-bit的客戶端
  • 還是原來的那個基於數據庫驅動的項目
  • 訪問Oracle數據庫出現如下異常:

exception.png

異常原因

  • 幾經折騰之下(夜深人靜的時候跟度娘交流好多次)
  • 發現是項目中連接Oracle用的是 System.Data.OracleClient這個VS2010自帶的數據庫驅動是32-bit
  • 而項目中用該驅動操作數據庫的時候最終還是必須通過本機的 Oracle 客戶端去操作.
  • 而原先本機的Oracle客戶端32-bit, 操作數據庫自然正常
  • 而現在本機的Oracle客戶端64-bit, 操作數據庫自然異常

解決方案(幾種)

  1. 去搞一個64-bitSystem.Data.OracleClient驅動(不建議這么做, VS都說該驅動早過時了, 叫你不要用了)
  2. 再裝一個Oracle 11gR2 32-bit的客戶端(我反正是這么干的)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM