忿忿的泥巴坨 发表于 2024-6-13 20:25:04

15分钟办理此题目,DPI-1047: Cannot locate a 64-bit Oracle Client libra

一、堕落截图
   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
https://img-blog.csdnimg.cn/direct/5cf281c142d343e09fbdcd5ad07cd053.png
二、办理方法
主要原因是cx_Oracle在导入后,必要找到oracle的本地客户端。下载一个临时的
1、先查询oracle数据库的版本
SELECT * FROM v$version;
https://img-blog.csdnimg.cn/direct/db97be9a69924b0f9cf06b05860a0392.png
2、根据版本oracle官网下载相应的临时客户端,大概50多M。
oracle官网11g客户端下载网址:Instant Client for Microsoft Windows (x64) 64-bit (oracle.com)
https://img-blog.csdnimg.cn/direct/77935de2808142d8bfd0c32c38ce10b4.png
3、解压后设置情况变量,这个不多说了。变量名 ORACLE_HOME ,别搞错。
https://img-blog.csdnimg.cn/direct/8c5a50767c2a41eeb6cfe6ca9587615e.png
4、设置毗连,新建一个文件,文件名tnsnames.ora,内容如下,放在oracle\instantclient_11_2客户端下。注意样式。
oral = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 这是ip)(PORT = 端口)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = 数据库名) ) )
https://img-blog.csdnimg.cn/direct/6044bf46c2374edf9120ab62eca15dbd.png
5、把oracle客户端中oracle\instantclient_11_2下的三个dell文件,复制到python编译器script目次下。我的是D:\soft\Anaconda3\envs\test1\Scripts,按本身的目次放。
https://img-blog.csdnimg.cn/direct/d769aa3e3c0a48a4a8abfdeb0b7e7cb8.png
6、重启下vscode,再运行。换了个错误,终于搞完了。
https://img-blog.csdnimg.cn/direct/030f01a568da4c8ba5b942cf12723f14.png
三、经验总结
太贫苦了,幸亏oracle临时客户端不大,不然搞死了。有题目留言,我帮你看。搞了泰半天这个错误。网上东一下西一下的,难搞。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 15分钟办理此题目,DPI-1047: Cannot locate a 64-bit Oracle Client libra