import cx_oracle问题

python+cx_oracle+instantclient配置

今天使用cx_oracle来连接oracle,用pip下载了cx_oracle
果然不出所料,遇到了很多问题:
import cx_oracle

1、cx_Oracle.DatabaseError: DPI-1049: symbol OCIClientVersion not found in OCI library

2、导入后提示 编码UTF-8 编码问题

遂开始在网上寻找解决方案,主要从ORACLE_HOME的环境变量配置和编码方向来找,结果无法解决问题,因此怀疑是否是Oracle客户端,python,cx_oracle之间的版本不相容导致,经过排查,发现了可疑问题:
1、Oracle客户端为32位,Python为64位,开始统一版本,下载了对应数据库服务器oracle版本的instantclient-basic-win32-11.2.0.1.0,开始修改环境变量
2 oracle_home修改为instantclient-basic-win32-11.2.0.1.0的解压目录
3 tns_admin修改为instantclient-basic-win32-11.2.0.1.0/network/admin(network/admin这两个目录在解压的目录里面自己创建)
4 拷贝tnsnames.ora文件到instantclient-basic-win32-11.2.0.1.0/network/admin目录下

做完上述步骤的操作,导入import cx_oracle,可以正常使用了
综上所述,要保证oracle客户端,python的位数一致
最终环境如下:instantclient-basic-win32-11.2.0.1.0+python3.6 32位+cx_oracle 6.0.2 +toad11.5.1.2

你可能感兴趣的:(import cx_oracle问题)