【问题标题】:Windows, PyCharm: DPI-1047: Cannot locate a 32-bit Oracle Client libraryWindows、PyCharm:DPI-1047:找不到 32 位 Oracle 客户端库
【发布时间】:2020-09-03 19:39:16
【问题描述】:
我需要帮助,我一直收到这个错误。
'''
回溯(最近一次通话最后):
文件“C:/Users/DELL/PycharmProjects/Anonimizacija/OracleConnect.py”,第 3 行,在
con = cx_Oracle.connect("andjela", "andjela", "localhost/xe")
cx_Oracle.DatabaseError: DPI-1047: 找不到 32 位 Oracle 客户端库:“C:\app\DELL\product\18.0.0\dbhomeXE\bin\oci.dll 不是正确的体系结构”。请参阅https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html 寻求帮助
'''
我不知道如何解决它。
【问题讨论】:
标签:
python
oracle
pycharm
【解决方案1】:
你有一个 32 位的 python,但有一个 64 位的 Oracle 数据库。
最好的办法是安装 64 位 Python。
或者你可以升级到 cx_Oracle 到 8,下载一个 32 位的 Oracle Instant Client 并解压,然后将 Instant Client 目录传递给 cx_Oracle 8 的init_oracle_client():
import cx_Oracle
import sys
try:
cx_Oracle.init_oracle_client(lib_dir=r"C:\oracle\instantclient_19_6")
except Exception as err:
print("Whoops!")
print(err);
sys.exit(1);
请参阅 cx_Oracle 文档Using cx_Oracle.init_oracle_client() to set the Oracle Client directory。
使用此功能,您无需将 Instant Client 目录添加到 PATH(这可能会影响 Oracle XE 数据库的使用)。