如何在不安装Oracle客户端和cx_Oracle的情况下访问Oracle数据库?

Gar*_*ary 14 python oracle cx-oracle python-2.6

我有两台RHEL服务器分别运行Python 2.4和2.6.我需要访问的其他服务器上有一个Oracle数据库.

我试图在我的RHEL服务器上安装cx_oracle,但发现必须首先安装Oracle客户端.

问题是,我没有权限在两台RHEL服务器上安装Oracle客户端.在相同的服务器上,Perl程序可以使用以下命令连接到Oracle数据库:

DBI->connect("dbi:Oracle:host=myhost.prod.com;sid=prddb",'username','password')
Run Code Online (Sandbox Code Playgroud)

没有安装cx_oracle和Oracle客户端,Python可以做同样的事吗?或者有没有关于如何自己编写模块来做同样事情的建议?

提前致谢!

Eri*_*lun 5

来自http://omz-software.com/pythonista/forums/discussion/297/oracle-database/p1的摘录:

Oracle没有纯粹的python客户端,可能永远不会.即使像SQLalchemy这样精彩的第三方工具集仍然依赖于下面的cx_Oracle来与Oracle数据库服务器进行实际通信.

- 而且,由Google决定,答案是否定的:现在似乎没有任何纯Python客户端存在.


use*_*657 4

通常,您需要的只是库,不一定需要 sudo 权限。将它们解压缩到软件能够读取并相应设置以下环境变量的位置:

ORACLE_HOME=path/to/where/you/extracted/libs
TNS_ADMIN=path/to/tnsnames.ora
Run Code Online (Sandbox Code Playgroud)

我很幸运地跳过了 tnsnames,只在连接中指定主机、端口等,但很可能您需要它来用于 cx_oracle...我不记得很久以前我何时使用它了。