기본 콘텐츠로 건너뛰기

9월, 2013의 게시물 표시

[.NET 일반] BadImageFormatException 오류 처리하기.

주로 많이 발생하는 상황은 64Bit O/S 에서 32Bit 플랫폼으로 개발된 어셈블리를 사용할 경우이다. 물론 소스코드가 존재하는 경우는 플랫폼 대상을 x64로 변경하거나 AnyCPU 로 설정해서 재 컴파일하면 된다. 문제가 되는 것은 외부의 DLL을 가져다 쓰는 경우인데, 지금처럼 Oracle.DataAccess.dll 을 가져다 쓰는 경우처럼 소스가 없는 경우는 대략 난감한 상황에 빠지게 된다. 아래와 같이 개발 또는 수행 환경에 따라서 적절하게 적용하면 된다. IIS 에서 운영되는 웹 어플리케이션 인 경우 IIS 사이트의 Application Pool 의 고급 설정에서 “Enable 32 Bit Applications” 설정을 true 로 변경해 주면 된다. 윈도우 어플리케이션인 경우 현재까지 파악된 것으로는 32Bit Solution으로 처리하고  64Bit Machine 에서 동작하는 경우를 생각하거나 그렇지 못할 경우는 32Bit DLL을 COM으로 Wrapping해서 사용하는 것의 2가지 방법 뿐이 없는 것 같다. 결국은 Oracle 사이트에서 64Bit 용 ODAC를 받아서 64Bit 용 DLL을 사용하는 것으로 적용하는 것으로 결정하였다.  

[ORACLE] 11g XE 버전 설치 후에 샘플 사용자/DB 설정하기

9월에 시작된 프로젝트가 Oracle 11g를 사용하고 있다. 당장 투입이 되어 개발에 필요한 검증과 기본 구조를 생성해야 하는데 시스템 접근 권한을 준비하는데 최대 1개월까지 걸린다고 한다. ;;;; 뭐.. 회사마다 보안정책이 있기는 하지만… 어차피 진행할 것이라면 한달 전부터 접근권한 등을 준비하시던지.. –_–.. 일단 로컬 PC에 Oracle 11g R2 Express 버전이라도 깔아서 진행을 하려고 한다.  한달 동안 놀고 있을 수는 없으니 말이다. 그런데 일단 설치를 하고 사용하는데 무거움이 느껴진다. (그냥 느낌상으로.. MSSQL 보다는 훨씬 더…) 그리고 또 하나는  막상 작업을 하려니 scott 계정으로 로그인이 되지 않는다.. 이건 뭐.. 계정이 없다네… ㅠㅠ 기본 계정 생성은 다음과 같이 작업을 하면 된다. 1. System 계정으로 로그인해서 “scott” 계정을 생성하도록 한다. CREATE USER scott IDENTIFIED BY tiger DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp; 2. 계정 권한 설정과 관련된 예제 DB는 다음의 경로에 존재하므로 이 파일을 이용해서 수동으로 생성하여 사용하면 된다. 관리자 콘솔을 실해하고 C:\oraclexe\app\orcle\product\<설치버전>\server\rdbms\ admin 경로로 이동해서 sqlplus를 실행한다.   SQL > @scott.sql 3. 계정도 샘플 데이터도 생성이 되었지만 로그인은 아직 허용되지 않는다. 아래의 문장을 추가로 실행하도록 한다. ALTER USER scott IDENTIFIED BY tiger ACCOUNT UNLOCK; 쩝.. 일단 작업은 하지만… 좀 그렇다.. –_– 작업이 완료된 후에 ODP.NET을 설치하고 연결을 하려고 하니 ORA-12560 : TNS:Protocol Ada