如何让cx_Oracle在64位Itanium Windows上工作?

我在运行64位Oracle 10.2的64位Itanium服务器上运行Windows Server 2003,我想为Python 2.5安装cx_Oracle。 我已经在Windows和Linux上多次使用过cx_Oracle,而且之前我也在这些平台的32位版本上编译过,但是我从来没有尝试过使用IA64编译。

cx_Oracle在http://cx-oracle.sourceforge.net/上的二进制版本都不是64位的,在试图运行import cx_Oracle时,在安装它们之后出现错误,所以我想要做的事情是编译它从源头上。

当运行python setup.py build我得到了Python是用Visual Studio 2003 python setup.py build的错误,而且我需要能够产生兼容二进制文件的东西。 我有Visual Studio 2005,由于链接到不同版本的C标准库,显然不适合帐单,也可能是其他原因。 不幸的是,Visual Studio 2003不再可用于下载,我不确定在哪里得到它。

所以我从http://sourceforge.net/projects/mingw/files/下载MinGW,但是这也只能以32位的forms提供。 无论如何,我会继续尝试,但是在编译链接到的一个Oracle DLL的时候,它会给我一个错误。

在这一点上,我有很多select,我不知道在哪里放置我的努力:

  1. 我可以从http://sourceforge.net/projects/mingw-w64/下载64位的MinGW,并尝试使用它,除了它似乎只能作为源,所以我不得不编译编译器,可能使用Visual Studio 2005。

  2. 我可以尝试使用x86的32位版本的Python,然后从http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html下载Oracle Instant Client SDK,然后使用它build立cx_Oracle。 我可能必须将我的ORACLE_HOME设置为客户端,以便它不尝试链接到64位服务器DLL,但这似乎可能工作。

  3. 我可以尝试使用Visual Studio 2005从源代码编译Python本身,这样我就可以使用Visual Studio 2005来构buildcx_Oracle,而不用担心二进制兼容性问题。 我在Linux上多次从源代码编译Python,从来没有任何问题,所以我想相信它在Windows上也是如此简单。

  4. 我可以试着弄清楚如何使Visual Studio 2005链接对正确的DLL,从而产生兼容的二进制文件,而不需要Visual Studio 2003.直观上,它似乎像Visual Studio应该能够生成兼容的二进制文件与旧版本身,但是几乎所有的编译器经验都是用gcc编写的,所以我不太清楚。

我只是不确定在哪里指导我的努力。 有没有人有什么build议下一步去哪里? 我可以复制/粘贴一些我得到的具体的错误信息,如果这将有所帮助。

我特别喜欢听到任何曾经获得cx_Oracle 64位安腾版Windows操作系统的人 – 我不能成为第一个尝试这样做的人。

我最终选择了#2:我下载了32位Oracle Instant Client,然后用即时客户端编译了32位Python的cx_Oracle。 所以涉及到的一切都是32位的,我只是没有使用任何IA64位的可执行文件,这工作得很好。

如果我有一个IA64编译器,我会尝试选项#3,但事实证明,Visual Studio Pro不支持IA64平台,我们需要花费大量资金升级到高于Pro的任何东西。

我昨天读到这个,不觉得没有人回答。 这是一个非常具体和复杂的问题。 虽然我没有与您正在处理的许多工具的直接经验,我已经讨论与不同编译器和二进制文件不兼容的问题。 为什么它的价值3听起来像你最好的选择。