본문 바로가기

Dev Tool/Power Builder

ODBC for Oracle 접속 설정 하기

SQLSTATE = IM014 

지정된 DSN은 드라이버와 응용프로그램 간 아키텍처 불일치를 포함합니다.


한마디로 32 / 64 bit 에 맞는 드라이버를 사용하지 않았다는말이다.


개발중인 파빌이 32bit 이니까 운영체제가 32bit 이던 64bit 이던 32bit 설정을 사용해야 한다.

64bit 운영체제에서 DSN 설정하려고 

제어판->시스템 및 보안 -> 관리도구 -> 데이터원본

실행하면 64bit DSN 설정이 나오기 때문에 32bit 파워빌더에서 백날 연결설정 해봐야

위의 에러가 나온다.


DSN 설정 실행파일 위치가 다르다

64 bit : c:\windows\system32\odbcad32.exe

32 bit : c:\windows\sysWOW64\odbcad32.exe


32 bit DSN 설정 실행파일 실행해서 설정하도록...!!

막상 설정하러 들어가서 microsoft odbc for oracle 선택하면 아래와같은 에러 뜬다.ㅡㅡ;


Oracle(tm) 클라이언트 및 네트워킹 구성 요소를 찾을 수 없습니다. 이 구성 요소는 Oracle Corporation이 제공하며 Oracle 버전 7.3 이상 클라이언트 소프트웨어 설치의 일부입니다. 

이 구성 요소를 모두 설치해야 이 드라이버를 사용할 수 있습니다.


아래주소로가서 32bit 용 오라클 instant client 를 설치해라

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html

MS odbc 는 더이상 odbc for oracle 을 지원하지 않고, 최신의 odbc for oracle 을 받기위해선 오라클에서 서포팅 받으라고 되어있다.

그리하야 위주소에서 다운받은 것이다.


설치가 다 끝나고 나면 "ODBC 데이터 원본 관리자" 에서 DSN 설정할때 드라이버를 

"Microsoft ODBC for Oracle" 을 선택하지 않고

"Oracle in OraDb11g_home1" 을 선택해서 진행했다.

"Microsoft ODBC for Oracle" 선택해서 진행하니 또 오류 ㅜㅜ;


위사항은 파워빌더 7 버전에서 오라클을 odbc 로 접속하기 위한 삽질과정 중에 나온 답이다.

완벽한 해답이 아닐수도 있다.


정리하자면 

파워빌더 7.0 이 32bit 어플리케이션 이므로 운영체제와 상관없이 odbc 드라이버도 32bit 이어야한다.

헌데, oracle 11g 를 "Microsoft ODBC for Oracle" 이 제대로 지원하지 못하는듯 하다

그리하여 오라클에서 insatant client (32bit) 를 직접 설치한 후 DSN 설정을 하였다.

파빌이 너무 오래되고 32bit, 운영체제는 64bit 이고, 어플과 드라이버간의 아키텍쳐(32/64 bit) 설정을 잡는다고 

너무나 괴로운 시간을 보냈다. ㅡㅡ;


어느 누군가에겐 희망이 되기를 ...