programing

64비트 시스템에서 32비트 모드로 Oracle Client 실행

skycolor 2023. 8. 15. 10:58
반응형

64비트 시스템에서 32비트 모드로 Oracle Client 실행

32비트 Windows 7(윈도우 7) 데스크톱에서 64비트 Windows 7(윈도우 7) 노트북으로 방금 이동했습니다.현재 개발 중인 C# 프로그램은 솔루션 내 약 60개의 프로젝트를 포함하고 있습니다.빌드하는 동안 다음 오류가 계속 발생합니다.

Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed

분명히 오류는 매우 자명하며 32비트 모드로 로드할 수 있는 전체 솔루션을 얻으려고 합니다.저는 모든 프로젝트를 검토하고 대상 플랫폼을 x86으로 설정했지만 여전히 이 오류가 발생하고 있습니다.저는 구글을 검색하고 수많은 다양한 접근법을 보았지만, 이 문제를 해결할 수 없는 것 같습니다.프로젝트가 64비트 시스템에서 32비트 모드로 실행되도록 하는 가장 좋은 방법은 무엇입니까?

Visual Studio 2008을 사용하고 있습니다.현재 32비트로 다운그레이드하는 것을 고려하고 있지만 이렇게 하는 것은 피하고 싶습니다.

64비트 시스템에서 실행 중인 경우에도 32비트 Oracle 클라이언트(설치 프로그램은 웹 사이트에서 다운로드할 수 있음)를 설치해야 합니다.

게다가, 토론하는 동안 사람들은 32비트 모드 등에 대해 이야기했습니다.이렇게 하면 IIS 7 호스트 응용프로그램에 대해 해당 응용프로그램을 확인/설정할 수 있습니다.당신은 이것을 변경할 필요가 없지만, 완성도/향후 참조를 위해 여기에 추가했습니다.

  • IIS 7을 시작하고 서버 이름 노드를 확장합니다.
  • 애플리케이션 풀 노드를 클릭하고 사용 중인 애플리케이션 풀을 찾습니다.
  • 오른쪽 패널에서 고급 설정...클릭합니다.
  • 나타나는 팝업 상자에서 위에서 세 번째 옵션인 32비트 응용 프로그램 설정 사용을 선택합니다.

32비트로만 실행하려면 메인 .exe 파일을 변경해야 합니다.Visual Studio에서 이 작업을 수행할 수 있습니다. 플랫폼 대상을 "모든 CPU"에서 "x86"으로 변경하기만 하면 됩니다.

이것이 불가능한 경우에는 코플래그를 사용합니다.exe - 기존 exe를 32비트 응용 프로그램으로 강제 적용합니다.

저는 이 문제로 몇 달 동안 고생했고 마침내 해결했습니다.모든 게시물이 도움이 된다고 생각합니다만, 누락된 부분이 하나 있었습니다.사용자 DSN 또는 시스템 DSN에 대한 Microsoft ODBC for Oracle 인스턴스 설정이 없습니다.저는 윈도우 8 기계에서 일하고 있습니다.따라서 일반 창 검색으로 이동하여 ODBC를 입력하고 ODBC 데이터 원본 관리자(32비트)를 열어야 했습니다.사용자 DSN 탭 또는 시스템 DSN 탭에서 Microsoft ODBC for Oracle 설정이 있는지 확인합니다.그렇지 않은 경우 추가를 클릭하고 Microsoft ODBC for Oracle을 선택합니다.입력하려는 데이터 소스에 대한 정보를 입력하고 확인을 클릭합니다.컴퓨터를 다시 시작해 주세요. 그리고 그것이 마침내 저에게 도움이 되었습니다.이것이 여러분 중 일부에게 도움이 되기를 바랍니다.

32비트로만 실행하려면 메인 .exe 파일을 변경해야 합니다.Visual Studio에서 이 작업을 수행할 수 있습니다. 플랫폼 대상을 "모든 CPU"에서 "x86"으로 변경하기만 하면 됩니다. https://msdn.microsoft.com/en-us/library/ms185328.aspx

나의 경우 64비트 Oracle 클라이언트가 내 컴퓨터에 설치되었지만 여전히 동일한 오류가 발생합니다.따라서 로컬 IIS 웹 서버를 사용하는 경우 응용 프로그램에서 ->속성->웹 탭으로 이동하고 "IIS Express 사용" 옵션을 선택 취소합니다.문제가 해결되었습니다.

언급URL : https://stackoverflow.com/questions/16538561/run-oracle-client-in-32-bit-mode-on-a-64-bit-machine

반응형