cx_Oracle. 如何访问远程机器?
我看了一下cx_Oracle这个东西,但遇到了一些问题。首先,我的Oracle服务器是在远程机器上。其次,我不知道我的软件会在哪个平台上运行。我找到的所有例子,比如这个 http://www.len.ro/2009/08/cx_oracle-on-ubuntu-9-04-jaunty/ 或者这个 https://stackoverflow.com/questions/592/cx-oracle-how-do-i-access-oracle-from-python
都假设Oracle服务器和软件在同一台机器上。那么有没有可能做一些静态编译,这样我就可以轻松地把我的软件从一台电脑移动到另一台电脑呢?
谢谢
1 个回答
0
当然,cx_Oracle可以和其他机器上的服务器一起工作。但是在客户端机器上,你需要安装Oracle客户端并进行配置。我不太确定Oracle客户端的安装是否可以直接放到你应用的安装包里。通常来说,它的体积很大(大约600MB),所以这样做并不是个好主意。然后在所有客户端机器上,你还得配置Oracle客户端:设置ORACLE_HOME
,运行Oracle工具来配置与数据库的连接等等。
我知道的唯一“轻量级”的解决方案是使用Jython或Java中的JDBC。在这种情况下,你可以使用一种“瘦”版本的连接字符串,只需要一些.jar
库。这样的连接字符串看起来像这样:
db = DriverManager.getConnection('jdbc:oracle:thin:169.0.1.225:1521:test_db', 'user', 'passwd')
在客户端机器上,它需要在CLASSPATH
中包含ojdbc6.jar
和orai18n.jar
。不需要安装,不需要配置,简单又方便。