将Oracle与Python连接时出错

dzjeubhm  于 2023-10-16  发布在  Oracle
关注(0)|答案(1)|浏览(128)

我正在使用Python版本3。我想连接Python Oracle数据库(版本Oracle 11g.)。代码在下面。

import cx_Oracle
conn = cx_Oracle.connect('PAYROLL/PAYROLL@localhost:1521/XE')
print(conn.version)

但它给出了下面的错误。请帮我解决这个问题。我会很感激的

Traceback (most recent call last):
  File "<string>", line 178, in run_nodebug
  File "D:\utils\python_files\connect oracle.py", line 1, in <module>
    import cx_Oracle
ModuleNotFoundError: No module named 'cx_Oracle'
webghufk

webghufk1#

您正在运行的Python二进制文件没有安装cx_Oracle。
安装此模块的最新版本。它现在被称为python-oracledb,参见release announcement
沿着installation instructions走。总的来说:

python -m pip install oracledb

因为你想连接到Oracle 11 g,你需要安装Oracle客户端库,你需要添加一个对init_oracle_client()的调用(这在cx_Oracle中是可选的,但在python-oracledb的所谓的“厚”模式中是必需的)。从你的连接字符串看,你的数据库似乎安装在你的机器上。它有必要的客户端库可用,所以你不需要安装任何其他东西。假设库在PATH中,那么你的代码就像这样:

import oracledb
oracledb.init_oracle_client()
conn = oracledb.connect('PAYROLL/PAYROLL@localhost:1521/XE')
print(conn.version)

Oracle DB 11已经很老了,您应该考虑升级到更新的版本。如果您有XE版本,请考虑升级到https://www.oracle.com/database/technologies/xe-downloads.html上的Oracle 21 c XE

相关问题