본문 바로가기

ASP.NET

[ASP.NET] The provider is not compatible with the version of Oracle client 에러

사이트를 개발하던 중에 테스트를 마무리 하고 서버에 배포를 했는데 서버에 Oracle.DataAccess.dll 관련 에러가 나타나서

 

검색을 해보니 아래와 같은 검색 결과를 찾을 수 있었습니다.

 

http://blog.naver.com/techshare?Redirect=Log&logNo=100154549048

 

하지만 위와 관련 해결 방법으로는 제가 당면한 문제를 해결할 수 없었습니다.

 

삽질에 삽질을 계속 하다 보니 Oracle.DataAccess.dll 버전이 다르니 문제가 계속 생기는걸 로컬에서 확인할 수 있었고 참조

 

파일의 버전을 맞추어주면 되겠다고 생각이 들어 서버에 Oracle.DataAccess.dll 파일을 로컬로 가지고 와서 참조 파일로

 

등록하니 문제가 해결이 되었습니다.

 

그러기 위해서 몇가지 확인 작업을 해야 하는 하는데 아래와 같은 절차로 진행하면 됩니다.

 

1. 서버에 등록되어있는 Oracle.DataAccess.dll 버전을 확인합니다.

 

- 운영체제의 Windows\assembly 폴더로 이동해서 Oracle.DataAccess.dll 버전을 확인합니다.

 

image

 

- 위 그림에 1.102.3.0 이라고 되어 있는 부분이 Oracle.DataAccess.dll 파일의 버전을 의미합니다.

 

2. 로컬 프로젝트의 Oracle.DataAccess.dll 파일을 서버 dll 파일버전과 일치 시킵니다.

 

- 보통은 Oracle Client 설치할 때 해당 dll 파일들이 Windows\assembly 아래 설치 됩니다.

 

- 만약 파일 버전이 다르면 서버 Oracle Client 홈 디렉터리 이동 한 후 ODP.NET 폴더를 찾으신 후 bin 폴더아래 dll 을 복사

  해서 프로젝트에 참조 파일로 등록하면 됩니다.  복사 전에 해당 파일 버전 확인을 먼저 해주시면 됩니다.

image

 

3. 해당 파일을 프로젝트에 첨부해서 속성을 확인하고 버전이 일치하는 지를 확인하면 됩니다.

image

 

4. 그런 후 서버에 다시 게시를 실행하면 페이지가 짠하고 나타나는걸 확인할 수 있을 겁니다.