【发布时间】:2011-05-15 01:03:10
【问题描述】:
这里有一个背景:我们有一个在 Windows 上运行的 Oracle 服务器。几年前,我编写了一个客户端(windows),它从 Oracle 读取数据、处理、创建 XML 并将其发送回仪器(质谱仪)控制软件(与 Oracle 在同一台机器上运行)。实用程序是用 C++ 编写的带有两个包装器的 dll:GUI 和控制台(用于 LIMS)。连接是通过 ADO/ODBC 完成的,因此您不必安装 Oracle 客户端(用于 Oracle ODBC 驱动程序的 MS 工作得很好......)多年来一直像魅力一样工作,但是......现在 LIMS 正在迁移到 Linux .我有一个选择:
- 编写一个Linux版本并同时维护Win和Linux(这不好),或者
- 编写独立于平台的代码(考虑 Python)并从此过上幸福的生活。
这是我的(表述不佳)问题:如果没有安装 Oracle 客户端,是否可以编写 Python 代码来读取驻留在 Linux 或 Windows 上的 Oracle 数据?
编辑:重新制定表述不佳的问题:为了在 Linux 或 Windows 上使用相同的代码读取 Oracle 数据,我必须对标准 Python 配置/lib 进行哪些最小更改?
我只需要执行一堆 SELECT 语句,只读。
已经完成:
- 了解它可以用 Java 完成
- Python:我可以检测我正在运行的平台,并在必要时分支代码(我会这样做,但不希望这样做,可能只是一个连接字符串?)
- 看了Python cx_Oracle,还是不明白能不能用,Linux和Win的代码一样(现在写测试)
任何内部将不胜感激。谢谢
Edit1:找到了一个很好的起点:感谢cx_Oracle and the data source paradigm
【问题讨论】: