确认版本:
oracle版本:64位
python版本:64位
下载cx_Oracle的whl包:64位
安装whl包:pip install wheel
cd到下载路径安装cx_Oracle的whl包:pip install cx_Oracle-7.2.3-cp36-cp36m-win_amd64.whl
安装后到python目录下有文档,里面有使用方法:https://oracle.github.io/python-cx_Oracle/index.html
由于数据库版本是11,所以这里下载11对应的instant文件win64位:https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html
下载解压,这里为了方便管理,将下载的instant文件解压到python文件夹下
在环境变量path中加入此路径
将此instantclient_11_2下此3个ddl文件拷贝到python的site-packages下
运行测试脚本,没有报错,并且打印出了数据信息,说明连接成功
import cx_Oracle
conn = cx_Oracle.connect('用户名/密码@ip:端口/服务名')
curs = conn.cursor()
sql = 'select * from product_component_version'
curs.execute(sql)
for result in curs:
print(result)
curs.close()
conn.close()
安装过程中的一些坑:
若报错:cx_Oracle.DatabaseError: DPI-1050: Oracle Client library is at version 0.0 but version 11.2 or higher is needed
需更换instantclient为数据库对应的版本,网上有人说是换cx_Oracle版本,其实不是的
最后成功连接数据库的环境版本:
python:3.6 - 64bit
oracle数据库:11.2.0.2.0 - 64bit
cx_Oracle:7.2.3 - 64bit
instantclient:11.2.0.4.0 - 64bit