python訪問oracle時的問題總結

flzhang發表於2017-06-07

在安裝python訪問ORACLE的驅動時遇到問題總結如下
1
安裝cx_Oracle(python訪問oracle的驅動)報錯python version 3.4 required, which was not found in the registry

下載python軟體時,應下載exe檔案,執行安裝,且安裝時要選擇當前使用者,預設選項

原因

cx_Oracle包在安裝時,檢測的是路徑是HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.4 ,安裝程式沒有檢測到登錄檔資訊的原因,一個可能的原因是python在安裝的時候,寫的登錄檔位置和這個路徑不一樣,比如在安裝的時候,選擇的是所有使用者而不是當前使用者,那麼登錄檔就會寫到HKEY_LOCAL_MACHINE下

2Unable to acquire Oracle environment handle

以下是環境變數的配置(用的是 oracle的instantclient):

  PATH=d:/instantclient

  NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

  TNS_ADMIN=d:/instantclient

解決辦法:

第一種:配置好環境變數,像上面那樣,不把oracle相關的dll檔案放到site-package中在啟動 Python 直譯器之前需要設定 ORACLE_HOME 和 LD_LIBRARY_PATH

[root@xe ~]# su - oracle
[oracle@xe ~]$ export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
[oracle@xe ~]$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib

    第二種:拷貝oci.dll, oraociei10.dll, oraocci10.dll到site-package中

這裡用的是copy .dll 這三dll哪個都不能缺

http://blog.csdn.net/zhangweiwindow/article/details/6575224

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/750077/viewspace-2140397/,如需轉載,請註明出處,否則將追究法律責任。

相關文章