我正在尝试编写一个脚本来连接从最新版本到最旧版本的oracle数据库的所有版本。
我尝试使用cx_oracle库进行尝试,发现它需要本地的客户端库才能连接到远程数据库,例如如果我下载最新版本,则它将适用于最新版本,而不是全部。
还尝试了Sqlalchemy连接,该连接也使用cx_oracle库。
如果做错了什么请指导我?我还想听听是否还有其他方法可以使用 PYTHON
连接到数据库答案 0 :(得分:1)
cx_Oracle 6和更高版本已经支持从9i一直到18c一直连接到任何Oracle数据库,具体取决于所使用的客户端。 cx_Oracle至少需要11.2的Oracle Client库。您可以查看互操作性说明here。由于无论如何都不再支持早于11.2的版本,因此在几乎所有情况下这都足够了。
您还可以使用ODBC连接到数据库,但是性能不如cx_Oracle。
答案 1 :(得分:0)
我在公司的Windows 7笔记本电脑上有一个11.2 Oracle数据库客户端,并且使用cx_Oracle可以轻松连接到版本9.2到12.2的数据库。
连接到所有版本的数据库的另一种方法是将Python换成Oracle的sqlplus实用程序的Linux版本。这样,我不需要安装cx_Oracle,并且可以与较旧的Oracle客户端以及Linux发行版附带的Python版本一起运行。就我而言,我在Python 2.6附带的Redhat 6上运行。我以这种方式连接到版本8.1到12.2的数据库。
我有一篇博客文章有关如何在Linux上从Python运行sqlplus:https://www.bobbydurrettdba.com/2016/11/04/running-sqlplus-from-a-python-script/
鲍比