Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

ODP.NET 오류 - The provider is not compatible with the version of Oracle client

낯설은 것도 있겠지만, 오라클 쪽은 유독 오류 원인을 찾기가 더 힘든 것 같은 느낌입니다.

이번에도 테스트 환경을 복원하는 중에 발생한 오류인데, ODP.NET의 연결 개체를 사용하는 과정에 다음과 같은 예외가 발생했습니다.

odpnet_ver_compat_error_1.png

The provider is not compatible with the version of Oracle client 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 

[OracleException (0x80004005): The provider is not compatible with the version of Oracle client]
   Oracle.DataAccess.Client.OracleInit.Initialize() +578
   Oracle.DataAccess.Client.OracleConnection..cctor() +2156

[TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception.]
   System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(RuntimeType objectType) +0
   System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(Type objectType) +47
   System.Runtime.Remoting.Activation.ActivationServices.CreateInstance(Type serverType) +59
   System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(Type serverType, Object[] props, Boolean bNewObj) +56
   WebSiteTest.odpnet20test.Page_Load(Object sender, EventArgs e) in d:\...\WebSiteTest\odpnet20test.aspx.cs:304
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +43
   System.Web.UI.Control.OnLoad(EventArgs e) +98
   System.Web.UI.Control.LoadRecursive() +71
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4297

오류 원인을 찾는 것이 만만치 않았는데요. 다행히 다음의 글에서 도움을 받을 수 있었습니다.

ODP.NET: The provider is not compatible with the version of Oracle client 
; http://oradim.blogspot.com/2009/09/odpnet-provider-is-not-compatible-with.html

위의 글에서 제시된 "Cause 1"이 사실상 주된 원인일 텐데, 제 경우에는 "Cause 2: OraOpsXX.dll is missing"이 원인이었습니다.

사연은 대충 이렀습니다. 예전에 제가 ODP.NET을 설치하지 않고도 사용할 수 있는 방법을 설명드렸었는데요.

ODP.NET 설치 없이 .NET 클라이언트 프로그램 배포하는 방법
; https://www.sysnet.pe.kr/2/0/822

.NET 응용 프로그램에서 64비트 Oracle Data Access Components 사용
; https://www.sysnet.pe.kr/2/0/825

당시에 32비트 쪽은 위와 같이 xcopy 배포 버전을 사용해서 해결했고, 64비트 쪽은 약간의 부가 작업을 거쳤는데 그것을 해주지 않았기 때문에 발생한 문제였습니다. (위의 환경을 구성했던 때에는 64비트 ODP.NET은 xcopy 배포 버전이 없었습니다.)

그런데, 최근 ODP.NET 배포 사이트를 가보니 64비트 역시 Xcopy 버전을 배포해 주고 있었는데요.

64-bit ODAC 11.2 Release 4 (11.2.0.3.0) Xcopy for Windows x64
; http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html

그래서 위의 버전을 다운로드해 이참에 테스트 코드도 업데이트하는 것으로 해결했습니다. (테스트 환경 망가진 이후로... 여러 가지로 시행착오를 겪는군요. ^^)




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 7/8/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 166  167  168  169  170  171  172  173  174  175  176  177  178  [179]  180  ...
NoWriterDateCnt.TitleFile(s)
553정성태12/16/200730115기타: 19. 인기 순위 정리 : 조회수 100 ~ 249회 글 목록
552정성태12/16/200723719기타: 18. 인기 순위 정리 : 조회수 000 ~ 099 회 글 목록
550정성태12/16/200723016Team Foundation Server: 23. TFS 2005에서 TFS 2008로 마이그레이션 [2]
549정성태12/16/200724343Team Foundation Server: 22. TFS 설정 - 주소를 도메인으로 변경
548정성태12/15/200741864오류 유형: 49. Report Server - 원격 서버에 연결할 수 없습니다
547정성태12/4/200730369.NET Framework: 98. .NET 비동기 Socket과 스레드
546정성태12/4/200721456Team Foundation Server: 21. Microsoft Office가 참조된 경우의 빌드 환경 구성
545정성태12/4/200728418Windows: 27. 눈으로 확인해 보는 ASLR 기능 [1]
544정성태11/25/200724057오류 유형: 48. VS.NET 2008 설치 오류 - Error code 1602 [5]
543정성태11/25/200727143개발 환경 구성: 31. ROBOCOPY XP026 버전 [1]
542정성태11/3/200742152VS.NET IDE: 55. XML/XSLT로 구현하는 매크로 확장 [5]파일 다운로드2
538정성태10/11/200728427스크립트: 10. VBScript - "Sub를 호출할 때는 괄호를 사용할 수 없습니다." [2]
537정성태9/28/200737312개발 환경 구성: 30. 64비트 OS에서의 ChartFX 라이선스 문제
536정성태9/12/200734271.NET Framework: 97. WCF : netTcpBinding에서의 각종 Timeout 값 설명 [11]
535정성태9/11/200731615.NET Framework: 96. WCF - PerSession에서의 클라이언트 연결 관리 [5]
534정성태9/3/200727197개발 환경 구성: 29. VHD 파일 크기 줄이기
533정성태9/2/200729782개발 환경 구성: 28. CA 서비스 - 사용자 정의 템플릿 유형 추가
532정성태9/2/200732021개발 환경 구성: 27. AD CA에서 Code Signing 인증서 유형 추가 방법
531정성태9/2/200727959.NET Framework: 95. WCF에서의 DataTable 사용
530정성태9/1/200724428.NET Framework: 94. WCF 예외에 대한 시행착오
529정성태8/31/200727536.NET Framework: 93. WCF - DataContract와 KnownType 특성 [1]
528정성태8/30/200721900오류 유형: 47. VPC - 네트워크 어댑터 MAC 주소 중복 오류
527정성태8/30/200732196Team Foundation Server: 20. 잠긴 파일을 강제로 해제 [2]
526정성태8/29/200722055오류 유형: 46. VS.NET 2008 - ASP.NET 디버깅 : Strong name validation failed.
525정성태8/27/200724226VS.NET IDE: 54. VS.NET 2008 - 새롭게 도입되는 XSD Schema Designer
524정성태8/23/200741801오류 유형: 45. 요청한 작업은, 사용자가 매핑한 구역이 열려 있는...
... 166  167  168  169  170  171  172  173  174  175  176  177  178  [179]  180  ...