DPI-1047:Cannot locate a 64-bit Oracle Client library:The specified module could not be found

解决python cx_Oracle模块DPI-1047:Cannot locate a 64-bit Oracle Client library:

通过python的cx_Oracle模块连接服务器Oracle数据库时报错。
在这里插入图片描述

解决方法

指定包含Oracle Instant Client库的目录:
客户端环境:
win10 64位
python版本:
Python 3.9.0 (tags/v3.9.0:9cf6752, Oct 5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)] on win32
cx_Oracle版本:
8.1.0
Oracle客户端版本:
未知,通过其他二次开发软件包捆绑安装,能正常使用

# encoding:utf-8
import cx_Oracle
"""指定包含Oracle Instant Client库的目录"""
cx_Oracle.init_oracle_client(lib_dir="C:\\instantclient_19_10")

解决过程

百度了一些解决方案,包括:
1.重装Oracle数据库(64位)
2.重装Oracle客户端(64位)
3.重装python(64位)
4.设置系统环境变量等等

感觉重装太费事了,Oracle官网上找了下cx_Oracle的文档:
DPI-1047:Cannot locate a 64-bit Oracle Client library:The specified module could not be found_第1张图片
cx_Oracle初始化
Oracle64位客户端下载地址

结果

下载Oracle客户端解压到对应的路径,在创建数据库连接之前,指定OracleClient目录
在不影响原客户端环境的前提下,正常运行现有程序
DPI-1047:Cannot locate a 64-bit Oracle Client library:The specified module could not be found_第2张图片

你可能感兴趣的:(python,oracle,python)