之前用python連過mysql資料庫,但是沒連過oracle資料庫,所以來練習一波 ...
聲明:python,cx_Oracle和instantclient的版本應一致
1. 首先安裝cx_Oracle包
儘量不要直接使用pip install cx_Oracle,這樣預設安裝的是最新版本的cx_Oracle,可能會出現以下錯誤
1.1 cx_Oracle 報錯:cx_Oracle.DatabaseError: DPI-1050: Oracle Client library must be at version 11.2
解決方法:從 https://pypi.python.org/pypi/cx_Oracle/5.3 下載低版本cx_Oracle版本 可以下載cx_Oracle-5.3-11g.win-amd64-py3.6-2.exe ,然後直接安裝
1.2 如果在安裝cx_Oracle-5.3-11g.win-amd64-py3.6-2.exe 時提示Python version 3.6 required, which was not found in the registry
可以通過執行這個文件來解決
register.py 鏈接: https://pan.baidu.com/s/1GcPK_I7ddSLZkM2sv7AHtA 提取碼: qrwm
2. 下載instantclient-basic-windows.x64-11.2.0.4.0.zip,解壓並配置環境變數(放到path中)
下載地址:https://www.oracle.com/technetwork/cn/topics/winx64soft-101515-zhs.html
下載好後解壓,並配置環境變數
3. 將instantclient下所有.dll文件到python\Lib\site-packages\下(我這裡的路徑為C:\Develop\Anaconda3\Lib\site-packages)
4. 測試代碼如下
import cx_Oracle conn=cx_Oracle.connect('username','password','172.16.5.29:1521/ORCL') cursor=conn.cursor() print("連接成功!") cursor.close() conn.commit() conn.close()
當你看到“連接成功”的提示語句時,那麼就恭喜你成功了用python連上了oracle資料庫