将Python连接到Oracle数据库需要什么

时间:2019-06-26 14:25:17

标签: python sql oracle toad cx-oracle

我一直在尝试将Python 3.7.1连接到客户端版本为10.2的TOAD 11。 当我尝试运行下面的代码

import cx_Oracle

connection = cx_Oracle.connect('myusername/mypassword@orcl')

cursor = connection.cursor()

querystring = "select * from TABLE_NAME"

cursor.execute(querystring)

我收到以下错误:

数据库错误:DPI-1047:无法找到64位Oracle客户端库:“ C:\ ORACLE \ PRODUCT \ 10.2.0 \ CLIENT_1 \ bin \ oci.dll不是正确的体系结构”。请参见https://oracle.github.io/odpi/doc/installation.html#windows以获取帮助

我一直在尝试下载64位客户端,但是自TOAD以来,我不明白为什么需要一个客户端,而当前的客户端是32位。问题是,对于我公司而言,每当要求安装某些内容时,它都不会说说明中的位(由于网络的安全性,除非得到IT部门的批准,否则我无法下载任何内容,并且只能通过他们的服务器下载)。我尝试下载即时客户端11g,但似乎已经安装了该客户端,但10.2版本仍然是我在计算机上只能找到的唯一版本。我看不到它在任何地方的位置,所以我什至无法为其设置环境变量,但是可以在“卸载向导”中看到它,但是它没有显示它的位置。我什至不知道11g是64位还是32位。

有人以前解决过这个问题吗? 我的代码关闭了,也许这就是为什么它不起作用的原因?

1 个答案:

答案 0 :(得分:0)

错误消息是说您需要64位Oracle Client,因为Python是64位。

对于cx_Oracle,您需要Oracle客户端库11.2或更高版本。您可以从http://www.oracle.com/technetwork/topics/winx64soft-089540.html作为Oracle Instant Client的一部分来获得这些库,在Windows上,您还需要该下载页面上注明的可再发行文件。

另请参见https://cx-oracle.readthedocs.io/en/latest/installation.html#installing-cx-oracle-on-windows上的cx_Oracle安装说明

您必须与IT人员合作才能实现这一目标。