一、出错截图


Exception has occurred: DatabaseError
DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found". See https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html for help

二、解决方法


主要原因是cx_Oracle在导入后,需要找到oracle的本地客户端。下载一个临时的

1、先查询oracle数据库的版本

SELECT * FROM v$version;

2、根据版本oracle官网下载相应的临时客户端,大概50多M。

oracle官网11g客户端下载网址:Instant Client for Microsoft Windows (x64) 64-bit (oracle.com)

3、解压后配置环境变量,这个不多说了。变量名 ORACLE_HOME ,别搞错。

4、配置连接,新建一个文件,文件名tnsnames.ora,内容如下,放在oracle\instantclient_11_2客户端下。注意样式。

oral = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 这是ip)(PORT = 端口)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = 数据库名) ) )

5、把oracle客户端中oracle\instantclient_11_2下的三个dell文件,复制到python编译器script目录下。我的是D:\soft\Anaconda3\envs\test1\Scripts,按自己的目录放。

6、重启下vscode,再运行。换了个错误,终于搞完了。

三、经验总结


太麻烦了,好在oracle临时客户端不大,不然搞死了。有问题留言,我帮你看。搞了大半天这个错误。网上东一下西一下的,难搞。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐