비주얼 스튜디오(Visual Stuidio)에서 ASP.NET(C#) Oracle 연결 시 아래와 같이 BadImageFormatException 에러 발생 시 해결방법입니다.
(Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32bit Oracle client components installed.)
오류발생 원인
32비트용 오라클 클라이언트 컴포넌트가 설치된 환경에서 64비트용 컴포넌트로 오라클 연결을 할 때, 혹은 64비트용 컴포넌트로 32비트용 오라클에 연결할 때 에러가 발생합니다.
해결방법
해결방법은 2가지입니다.
첫번째 해결방법은 프로젝트의 platform target을 설정하는 방법.
두번째 해결방법은 32비트용, 64비트용 ODAC(Oracle Data Access Components)를 설치하는 방법입니다.
첫번째 해결방법(Platform Target 설정 변경)
1. 먼저 프로젝트 속성에서 platform target을 Any CPU에서 x86(32비트), x64(64비트)로 변경 후 재빌드(rebuild) 후 다시 실행해봅니다.
첫번째 해결방법 사용 후 해결이 되지 않을 경우 아래 과정 진행.
두번째 해결방법(32비트/64비트용 ODAC 설치)
1. 아래의 URL(오라클 홈페이지)로 접근하여 DOWNLOADS 메뉴의 Developer Tools for Visual Studio 항목으로 이동합니다.
http://www.oracle.com/index.html
2. 32비트, 64비트에 해당하는 ODAC를 설치합니다.(이 예제는 32비트용 ODAC입니다.)
다운로드 링크를 클릭합니다.
3. 다운로드를 위해 Accept License Agreement에 체크 후 다운로드 링크를 클릭합니다.
4. 오라클 계정으로 로그인합니다. 계정이 없으면 회원가입을 하시면됩니다.
5. 압축(zip)파일을 아무곳에 다운로드합니다.
6. 다운로드가 완료되면 압축을 해제하여 setup을 실행합니다.
7. setup 파일을 실행하면 아래와같은 창이 뜹니다.
8. 위의 화면에서 조금 기다리다보면 아래와같은 화면으로 이동합니다.
설치를 위해 다음 버튼을 클릭합니다.
9. 설치될 위치를 설정하는 곳입니다. 특별한 설정 없이 설치하려면 그냥 다음 버튼을 클릭합니다.
10. 설치할 구성요소를 선택하는 화면입니다. 모든 요소를 체크하지만 혹시나 일부 항목만 선택 시 3번째에 있는 Oracle Developer Tools for Visual Studio 항목은 필수적으로 선택 후 다음 버튼을 클릭합니다.
11. 굳이 이 과정에서 입력할 필요가 없습니다. 다음 버튼을 클릭합니다.
12. 다음 버튼을 클릭합니다.
13. 설치 버튼을 클릭하면 설치가 진행됩니다.
14 설치가 진행중이며 시간이 좀 오래 걸립니다.
설치가 완료된 후 진행하려던 작업을 다시 실행해보시면 오라클 연결이 잘 되실겁니다.
'Language > C#' 카테고리의 다른 글
One or more types required to compile a dynamic expression cannot be found. Are you missing reference? (2) | 2014.04.22 |
---|---|
C# DataGridView excel export 시 HRESULT: 0x800A03EC 에러 (2) | 2014.01.14 |
C# 링큐(LINQ) 사용 예제 (0) | 2013.08.08 |
C# exe 파일(Release 버전) 생성 (6) | 2013.08.08 |
C# XML 파싱 예제(How to parse XML in C#) (2) | 2013.07.10 |
C# AES128/AES256 암호화 복호화(Rijndael) (1) | 2013.04.09 |
[C#] Microsoft.ACE.OLEDB.12.0' 공급자는 로컬 컴퓨터에 등록할 수 없습니다. (0) | 2013.03.23 |
ASP.NET 쿠키(cookie), ViewState 사용 방법 (1) | 2013.01.31 |
ASP.NET Page.IsPostBack (0) | 2013.01.31 |
ASP.NET 그리드뷰(GridView) (0) | 2013.01.30 |