본문 바로가기

컴터생각

ODBC 설정 에러.. (오라클 클라이언트가 문제야..)

 

오라클 클라이언트는 설치과정이 좀 독특한 프로그램이다.. 자바로 만들어진 설치 프로그램은 윈도우, 리눅스, 유닉스, 맥 등의 OS에서 모두 사용하기 위해 설계가 되었는가 본데, 각 운영체제에서 당연히 여겨지는 점들이 지켜지지 않아 황당한 경우가 많다..

예를들면, 윈도우 환경에서 설치경로에 공백문자와 한글을 지원한다.. 하지만, 오라클 클라이언트는 이런 경로에 설치를 하면 제대로 동작을 안한다.. 더구나 일정 경로 이상 깊이가 길어지면 (즉, 경로명 길이가 길어지면) 동작을 안하는 경우도 있다.. 온갖 삽질을 통해 경험으로 이런 내용들을 알고 있어 오라클 클라이언트를 설치할때면 무조건 디폴트 경로에 설치를 한다.. 또 무슨 일이 생길지 모르므로.. 오라클의 새 버젼이 나올때 마다 오라클 클라이언트도 새로 나오는데, 왜 아직까지 이런 문제점들을 수정되지 않는가 모르겠다.. 이런 부분을 보면 한중일 2바이트 문자에 대한 지원을 Microsoft 만큼 제대로 하는 곳도 없다.. 오픈소스 진영도 Microsoft를 따라가려면 아직도 멀었다..

하지만, 이것도 내가 잘 하면 되는 것이지만 다른 사람이 이상하게 설치를 해둔 상황에 내가 이상한 점을 발견하고 문제를 해결해야 하는 상황을 접하게 되면 피곤하게 된다.. 이번에도 그런 경우였는데, 다른 서버에서는 잘 동작하는

IIS 서버 컴포넌트

가 새 서버에 세팅을 했더니 DB 접속이 안되는 것이다.. 젠장..

정말 신기한 현상은 제어판의 ODBC 세팅하는 화면에서 접속 테스트를 해보면 접속이 제대로 된다는 것이다.. ODBC 세팅창에서는 제대로 되는데, 프로그램에서 안되니 우리 프로그램 문제라 생각하고 연락을 한 것이다..


Microsoft OLE DB Provider for ODBC Drivers 오류 '80004005'
5 (Oracle in OraHome92) 시스템 오류가 발생하여 지정한 드라이버를 로드하지 못했습니다.
/OracleTest.asp, 줄 15

 


컴포넌트가 DB 접속이 계속 실패를 하는데 원인 찾기가 쉽지 않아, ASP로 간단한 샘플코드를 만들어 확인을 해봤다.. ASP에서도 똑같은 오류가 발생했다.. 위와 같은 오류가 발생하였는데, 원인을 찾는 것이 쉽지 않았다.. 구글을 비롯해 네이버 지식인 등 검색을 좀 해봤는데 완전 똑같은 현상은 아니지만 비슷한 현상들 겪는 사람들이 좀 있었다.. 내용을 종합해보니 C 드라이브 루트가 아닌 D 드라이브에 오라클 클라이언트를 설치하면 제대로 동작을 안하는 경우가 있다는데 힌트를 얻었다.. 확인해보니 문제의 서버에도 오라클 클라이언트가 D 드라이브에 설치되어 있었다.. 젠장, 이렇게 황당한 경우가.. 왜 D 드라이브에 설치를 하면 정상동작을 안하는 것이야? 이렇게 만들라고 해도 이렇게 만들기 힘들겠다..

 

http://database.ssarang.net/?inc=read&aid=1641&criteria=mssql&subcrit=qna&id=&limit=20&keyword=&page=5

http://locke.tistory.com/40

http://sqler.pe.kr/web_board/view_list.asp?id=6551&read=1718&pagec=&gotopage=24&block=2&part=myboard3

 


원인을 찾기가 힘들었지 해결방법은 간단했다.. 오라클 클라이언트를 언인스톨 하고, C 드라이브에 설치를 하니 해결이 되었다.. 무슨 프로그램이 C 드라이브에 설치를 했을때와 D 드라이브에 설치를 했을때 동작이 틀려질 수가 있을까? 어떻게 만들면 이렇게 동작할 수가 있을까? 정말 신기하다.

 

 

728x90