无法使用cx-oracle

时间:2018-07-01 18:48:28

标签: python oracle pycharm cx-oracle

我是python和oracle的新手,我已经编写了连接到oracle数据库11g的代码,但它给出了错误:

import cx_Oracle
    con=cx_Oracle.connect('sys/Satyam123@localhost/xe')
    con.close(

)


It gives the following error in pycharm:
  

C:\ Users \ DELL \ venv \ module2 \ Scripts \ python.exe   C:/Users/DELL/Desktop/PYTHON/module2/check.py Traceback(最新   最后调用):文件“ C:/Users/DELL/Desktop/PYTHON/module2/check.py”,   第2行       con = cx_Oracle.connect('sys / Satyam123 @ localhost / xe')cx_Oracle.DatabaseError:DPI-1047:32位Oracle客户端库无法   加载:“找不到指定的模块”。看到   https://oracle.github.io/odpi/doc/installation.html#windows寻求帮助

3 个答案:

答案 0 :(得分:0)

请下载并安装Oracle Client。 (有几种版本的Oracle Client,但可以立即使用):

http://download.oracle.com/otn/nt/instantclient/122010/instantclient-basic-nt-12.2.0.1.0.zip

一旦安装,cx_Oracle python模块将查找Oracle库(OCI)并加载它们。

答案 1 :(得分:0)

我有同样的问题。请点击链接https://oracle.github.io/odpi/doc/installation.html,然后根据系统版本安装64位或32位Oracle Instant Client。安装后,python将自动能够找到Oracle Client库,并且您可以成功连接到数据库。

答案 2 :(得分:0)

似乎存在与PATH相关的问题。您可以尝试使用IDE终端安装软件包。在您的情况下,只需尝试使用pycharm终端安装软件包即可。

然后尝试执行以下脚本:

import cx_Oracle
import db_config
user="test"
pw="test"
dsn="localhost:port/TEST" #here TEST is service id

con = cx_Oracle.connect(user, pw, dsn)

cur = con.cursor()
cur.execute("select * from test_table")
res = cur.fetchall()
for row in res:
    print(row)

仍然有问题,您可以参考:

[https://oracle.github.io/python-cx_Oracle/samples/tutorial/Python-and-Oracle-Database-Scripting-for-the-Future.html]