2010-01-07 6 views
3

64 비트 Oracle 10.2를 실행중인 64 비트 Itanium 서버에서 Windows Server 2003을 실행 중이고 Python 2.5에 cx_Oracle을 설치하고 싶습니다. 저는 Windows와 Linux 모두에서 여러 번 cx_Oracle을 사용했으며, 이전에 32 비트 버전의 플랫폼에서 컴파일했습니다. 그러나 IA64 컴파일을 시도한 적이 한번도 없습니다.64 비트 Itanium Windows에서 cx_Oracle을 작동 시키려면 어떻게합니까?

http://cx-oracle.sourceforge.net/에있는 cx_Oracle의 바이너리 빌드 중 어느 것도 64 비트가 아니므로 import cx_Oracle을 실행할 때 오류가 발생하므로 원본에서 컴파일하는 것이 좋습니다.

python setup.py build을 실행하면 Python이 Visual Studio 2003에서 작성되었으며 호환 바이너리를 생성 할 수있는 오류가 발생합니다. Visual Studio 2005는 C 표준 라이브러리의 다른 버전에 대한 링크로 인해 청구서에 맞지 않을 것입니다. 아마도 다른 이유로도 가능할 것입니다. 불행히도 Visual Studio 2003은 더 이상 다운로드 할 수 없으며 어디에서 가져올 지 모르겠습니다.

그래서 MinGW는 http://sourceforge.net/projects/mingw/files/에서 다운로드 할 수 있지만 32 비트 형식으로 만 제공됩니다. 나는 어쨌든 시도해 보았지만, 잘못된 파일 형식을 가지고있는 것을 연결하는 Oracle DLL 중 하나에 대한 컴파일 중에 오류가 발생합니다.

는이 시점에서 나는 많은 옵션을 가지고, 내 노력 배치 할 위치를 잘 모르겠어요 :

  1. 내가 http://sourceforge.net/projects/mingw-w64/에서 64 비트는 MinGW를 다운로드하고 그것을 사용하여 시도해 볼 수도를 제외하고, 그것은 단지 소스로 사용 가능한 것 같습니다. 아마도 Visual Studio 2005를 사용하여 컴파일러를 컴파일해야 할 것입니다.

  2. Python의 x86 32 비트 빌드를 사용해 볼 수 있으며 Oracle Instant Client SDK http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html에서 가져온 다음 cx_Oracle 빌드에 사용하십시오. 아마도 64 비트 서버 DLL에 대한 연결을 시도하지 않도록 클라이언트에 ORACLE_HOME을 설정해야하지만 작동하는 것처럼 보입니다.

  3. Visual Studio 2005를 사용하여 Python 자체를 소스에서 컴파일 할 수 있으므로 Visual Studio 2005를 사용하여 cx_Oracle을 빌드하고 이진 호환성 문제는 걱정하지 않아도됩니다. 필자는 파이썬을 소스에서 여러 번 컴파일하여 아무런 문제가 없었으므로 Windows에서도 간단하다고 생각합니다.

  4. Visual Studio 2005를 올바른 DLL과 연결하여 Visual Studio 2003을 필요로하지 않고 호환 바이너리를 생성하는 방법을 알아 내려고했습니다. Visual Studio 2003과 호환되는 바이너리를 생성 할 수 있어야합니다. 그 자체의 이전 버전이지만, 거의 모든 컴파일러 경험은 gcc에 있으므로 실제로 알지 못합니다.

나는 어디에서 내 노력을 지시 해야할지 잘 모르겠습니다. 누구에게 다음에 갈지에 대한 제안이 있습니까? 도움이 될만한 특정 오류 메시지를 복사하여 붙여 넣을 수 있습니다.

64 비트 Itanium 버전의 Windows에서 작동하도록 cx_Oracle을 얻은 사람의 이야기를 듣고 싶습니다. 처음 시도 할 수는 없습니다.

+0

+1 행운을 빌어 요 – fupsduck

+1

sourceforge.net의 mingw-w64 프로젝트가 mingw-w64.org로 옮겨 가고 있으므로 [mingw-w64.org] (http://mingw-w64.org)를 사용하는 것이 좋습니다. – POQDavid

답변

1

옵션 2로 끝났습니다. 32 비트 Oracle Instant Client를 다운로드 한 다음 32 비트 Python 용 cx_Oracle을 인스턴트 클라이언트와 함께 컴파일했습니다. 관련된 모든 것이 32 비트이고 IA64 비트 실행 파일을 사용하지 않고 있습니다.

IA64 컴파일러를 사용하는 경우 옵션 3을 시도하지만 Visual Studio Pro가 IA64 플랫폼을 지원하지 않는다는 것이 밝혀졌습니다. 우리는 IA64 플랫폼을 지원하지 않기 때문에 많은 돈을 써야합니다. 프로보다 높습니다.

0

나는 이것을 어제 읽었으며 누구도 대답하지 못했음을보고 놀라지 않습니다. 매우 구체적이고 복잡한 질문입니다. 필자가 다루는 많은 도구에 대한 직접적인 경험이 없지만 서로 다른 컴파일러 및 바이너리가있는 비 호환성 문제를 해결해야합니다. 3. 가장 가치있는 것 같은 가치가있는 것.

관련 문제