Python連接Oracle數據庫記錄
環境說明(保持各個關聯環境版本對應非常重要):
系統環境:win7 64位
數據庫版本:Oracle 11G 64位
python版本:python 3.7.3 64
操作步驟
1、安裝databaselibrary 庫
pip安裝,具體安裝略
2、安裝oracle 客戶端
下載oracle客戶端需和oracle版本對應
我根據本地環境下載的是instantclient-basic-windows.x64-11.2.0.4.0.zip
將客戶端解壓到python根目錄,然后添加環境變量(即將客戶端文件路徑添加到path中,注意末尾加分號)
添加tnsnames.ora文件
下載地址: https://pan.baidu.com/s/1niTEjK6NbKk5aGGH3cm4eA 提取碼: u5u7
3、安裝cx_oracle
cx_oracle是一個用來連接並操作Oracle數據庫的python擴展模塊,支持報錯oracle9.2 10.2 11等版本
下載地址:https://pypi.org/project/cx-Oracle/
根據實際下載對應系統、python版本的文件,我下載的是cx_Oracle-8.0.1-cp37-cp37m-win_amd64.whl
將下載的.whl文件放於python的Scripts文件
cmd-將目錄切換到python的Scripts文件下,輸入pip install cx_Oracle-8.0.1-cp37-cp37m-win_amd64.whl
到此,基本環境安裝好了,接下來驗證是否可用正常連接oracle數據庫
在第一次連接測試,我出現了這個問題“cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: XX\oci.dll is not the correct architecture”
百度后,發現是Oracle客戶端、系統、python三者版本位數不對應,核實后是我客戶端版本不對,第一次是網上隨便下載的。重新下載然后重啟pycharm運行即可。
常見問題可參考這篇文章:
https://www.pianshen.com/article/9834930368/