2011-01-27 2 views
0

Oracle을 서버에 설치하면 Oracle 10.2.0.3 Enterprise Edition 64bit (10g)가 설치됩니다.C# -VS2005

ODAC는 Windows 2008 x64 시스템에 10.2.0.2.20 버전을 표시합니다. 나는 위의 기계에서 내 테스트 환경에서 내 응용 프로그램을 실행할 때에 내가 도망

오류가

The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception. 

나는 닷넷 오라클 네임 스페이스를 사용하여 시도하고 나는이 C에서 버전을 사용하여 얻을 : \ WINDOWS \ 마이크로 소프트 .NET \ Framework64 \

V2.0.50727 오류 :

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

누구나 같은 문제로 실행?

또한 Windows 2008 x64 시스템에서 사용할 올바른 Oracle Client/ODAC은 무엇입니까? Anyone은 링크가 있습니까?

+0

나는 OracleClient의 64 비트 버전이 .net 3.5에 대한 서비스 팩 중 하나의 일부로 사용 가능하다고 생각합니다. http://support.microsoft.com/kb/959209 당신에게 아무 쓸모가 없을 수도 있습니다. 그래도 .net 2.0 (vs 2005)을 사용하고 있다면. 자세한 내용은 http://social.msdn.microsoft.com/Forums/en/netfx64bit/thread/3cbc1c81-e0a8-4d00-b0a6-55be2c099bf5를 참조하십시오. – InSane

답변

0

32 비트 Oracle 클라이언트가 설치되어 있거나 64 비트 클라이언트를 마스킹하는 32 개의 dll이 있어야합니다. 64 비트 dll을 앱에서 액세스 할 수 있도록 64 비트 클라이언트를 설치해야합니다. 경로에서 oci * .dll을 찾으십시오.

hklm\software\oracle 아래에있는 레지스트리를보고 '집'이 몇 개인 지 확인하십시오.

마지막으로 해당 클라이언트의 두꺼비가있는 경우 연결 대화 상자의 홈 선택기를 확인하십시오. 불완전하거나 작동 불능 인 가정을 빨간색으로 표시합니다.

+0

하지만 C : \ Windows \ Microsoft에서 x64에 액세스하는 경우 .NET \ Framework64 \ v2.0.50727, System.Data.oracleCclient.dll의 x64를 가져와야합니까? – qazwsx

+0

_home1, _home2, _home4는 내가 레지스트리에서 보는 것입니다. – qazwsx

+0

이 각각의 홈은 이전 설치에 해당하며 해당 키와 관련된 폴더가 있어야합니다. 이 중 하나가 이전 32 비트 설치이며 여전히 PATH에 있습니다. 어떤 DLL이로드되는지 확인하려면 sysinternals 슈트 (예 : 프로세스 탐색기 또는 filemon)를 사용하십시오. –

관련 문제