已经配好64位的oracle instantclient,依旧Python报错cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Ora
Posted 虫王戮蛊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了已经配好64位的oracle instantclient,依旧Python报错cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Ora相关的知识,希望对你有一定的参考价值。
引起这个报错,有两种可能
一、oracle客户端配置不对
cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client错误解决方法。
1、没有配置环境变量,将instantclient客户端解压后,添加到path中
2、instantclient客户端不是64位,可以参考下面的链接下载
(instantclient如果需要其他版本的参考如下链接
https://blog.csdn.net/dianxiang0791/article/details/101604592)
二、VC++缺失对应安装
python 连接oracle数据库时,需要先安装正确的instantclient-basic,你电脑64位的,就下64位的,然后配置环境变量。
但有时候你这些都做了但仍然报64-bit Oracle Client library cannot be loaded: "The specified module could not be found"的错,可能是你没有安装正确的VC++ 库。此时你运行instantclient-basic目录下的genezi.exe文件时,会提示“缺少msvcr120.dll ”。
解决方法就是下载合适的VC++库,进行安装。按上图要求,比如Oracle 12.2就下VS2013的,不要想着下最新的(比如VS2017的)没用。
下载地址如下(亲测VS2013对应oracle12.2):
以上是关于已经配好64位的oracle instantclient,依旧Python报错cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Ora的主要内容,如果未能解决你的问题,请参考以下文章
换电脑后pl/sql连接oracle数据库总是提示不能初始化oci.dll,已经下过32位的Oracle client