문제

64 비트 이타늄 서버에서 64 비트 Oracle 10.2를 실행중인 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으로 제작되었으며 호환되는 바이너리를 생산할 수있는 것이 필요하다는 오류가 발생합니다. 나는 Visual Studio 2005가 있는데, 이는 다른 버전의 C 표준 라이브러리와 연결되어 다른 이유로도 법안에 맞지 않는 것 같습니다. 불행히도 Visual Studio 2003은 더 이상 다운로드 할 수 없으며 어디서 얻을 수 있는지 잘 모르겠습니다.

그래서 나는 mingw를 다운로드합니다 http://sourceforge.net/projects/mingw/files/ 그러나 이것은 또한 32 비트 형태로만 사용할 수 있습니다. 나는 어쨌든 시도해 보지만, 유효하지 않은 파일 형식을 갖는 것에 대해 연결하는 Oracle DLL 중 하나에 대한 편집 중에 오류가 발생합니다.

이 시점에서 나는 많은 옵션이 있으며, 내 노력을 어디에 두어야할지 잘 모르겠습니다.

  1. 64 비트 mingw를 다운로드 할 수있었습니다 http://sourceforge.net/projects/mingw-w64/ 그리고 소스로만 사용할 수있는 것처럼 보이므로 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를 사용하여 소스에서 파이썬 자체를 컴파일하려고 시도하여 Visual Studio 2005를 사용하여 CX_ORACLE을 구축하고 이진 호환성 문제에 대해 걱정하지 않을 수 있습니다. Linux에서 소스에서 Python을 여러 번 컴파일했으며 아무런 문제가 없었기 때문에 Windows에서도 간단하다고 믿고 싶습니다.

  4. 나는 올바른 DLL에 대해 Visual Studio 2005 링크를 만드는 방법을 알아 내고 Visual Studio 2003 없이도 그런 식으로 호환 가능한 바이너리를 생성 할 수 있습니다. 직관적으로 Visual Studio가 오래된 버전의 이진을 생산할 수 있어야합니다. 그러나 거의 모든 컴파일러 경험은 GCC에 대한 것이므로 실제로는 모릅니다.

나는 내 노력을 어디서 지시할지 잘 모르겠습니다. 다음에 어디로 가야하는지에 대한 제안이 있습니까? 도움이 될 경우 얻은 특정 오류 메시지를 복사/붙여 넣을 수 있습니다.

나는 특히 64 비트 이타늄 버전의 Windows에서 일하기 위해 CX_ORACLE을받은 사람의 의견을 듣고 싶습니다. 나는 이것을 처음 시도 할 수 없습니다.

도움이 되었습니까?

해결책

옵션 #2로 끝났습니다. 따라서 관련된 모든 것은 32 비트이며 IA64 비트 실행 파이브를 사용하지 않아서 제대로 작동합니다.

IA64 컴파일러가 있다면 옵션 #3을 시도하지만 Visual Studio Pro가 IA64 플랫폼을 지원하지 않으며 Pro보다 높은 것으로 업그레이드하려면 많은 돈을 소비해야합니다.

다른 팁

나는 어제 이것을 읽었고 아무도 대답하지 않았다는 것을 알기 위해 놀랐습니다. 매우 구체적이고 복잡한 질문입니다. 당신이 다루는 많은 도구에 대한 직접적인 경험은 없지만 다른 컴파일러와 바이너리와 비 호환성을 둘러싼 문제를 삭제합니다. 가치가있는 것은 3. 최선의 방법처럼 들립니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top