在 Django 中连接到 Oracle 数据库时出现 DPI-1047 错误

时间:2021-03-03 18:06:59

标签: python django oracle cx-oracle

我正在尝试将我的 oracle 11g 数据库连接到 django 但它没有连接它显示一些错误,如

返回数据库.connect( django.db.utils.DatabaseError:DPI-1047:找不到 32 位 Oracle 客户端库:“C:\oraclex\app\oracle\product\11.2.0\server\bin\oci.dll 不是正确的架构”。请参阅 https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html 寻求帮助

我成功安装了 32 位 oracle 客户端库,但仍然显示相同的错误。

我是 django 的新手,当我使用命令 python manage.py makemigrations 时会弹出这个错误,它没有创建迁移,而是显示了这个错误。 如果有人帮助我,我会很高兴。 谢谢:)

1 个答案:

答案 0 :(得分:0)

该错误是因为您安装了 64 位 Oracle 数据库,并且其库位于 PATH 中,因此 Python cx_Oracle 尝试加载它们。不幸的是,您的 Python 是 32 位的,因此存在冲突,错误显示了这一点。

您的选择是在运行 Python 时首先将 PATH 设置为拥有您的 32 位 Oracle 客户端库。您可能不想全局执行此操作,因为这可能会影响其他 Oracle DB 工具,因此您需要在 cmd 终端中执行此操作,或者设置一个设置 PATH 然后调用 python 的脚本。您可以随时调用新脚本来运行 Python。

总的来说,卸载 Python 并安装 64 位 Python 可能更容易。