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

2024-09-27 20:20:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个RHEL服务器分别运行Python2.4和2.6。我需要访问的另一台服务器上有一个Oracle数据库。

我试图在RHEL服务器上安装cx_oracle,但发现必须先安装oracle客户端。

问题是,我没有在两台RHEL服务器上安装Oracle客户端的权限。在相同的服务器上,Perl程序可以使用以下方法连接到Oracle db:

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

Python在不安装cx_oracle和oracle客户机的情况下也可以这样做吗?或者对于如何自己编写一个模块来做同样的事情有什么建议吗?

提前谢谢!


Tags: 方法程序服务器数据库权限客户端dbconnect
3条回答

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

ORACLE_HOME=path/to/where/you/extracted/libs
TNS_ADMIN=path/to/tnsnames.ora

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

摘自https://forum.omz-software.com/topic/184/oracle-database

There's no pure python client for Oracle and likely never will be. Even wonderful third-party toolsets like SQLalchemy still rely on cx_Oracle underneath to do the actual communication to the Oracle database servers.

-而且,由谷歌决定,答案是否定的:到目前为止,似乎还没有任何纯粹的Python-Oracle客户端存在。

如果您不想使用cx_Oracle您应该使用expect脚本。(对于python pexpect)。但你需要小心处理所有的期望。

相关问题 更多 >

    热门问题