문제점 1. VC에서 Debug로 돌리면 오라클 ODBC 드라이버 첫 호출에 바로 Heap 예외가 떨어짐
문제점 2. 그 이유인지는 몰라도 이후 SQLDriverConnect()로 연결이 안됨… ODBC 수동 설정으로 TNS 잡혔는지 전부 확인했지만 안됨
처음에는 ‘내가 잘못했겠지’ ‘설마 오라클이…’ 해서 구글링도 하고 이것저것 자료 찾아보고, 커넥션 스트링도 네다섯 개 바꿔가면서 시도해 보았는데, 위의 두 문제점은 해결될 기미가 보이질 않았다.
데이터를 찾는 중에 다른 문제도 발견했는데, 드라이버 DLL 구동에 필요한 MFC DLL(버전 7.1)이 포함되지 않아서 DLL이 없는 경우 에러가 발생한다고 한다. (본인은 VS.net 2005도 설치되어 있는 상태라 에러가 나지 않았다.)
……
테스트는 해 보고 내놓은거냐 -_-
아무튼, 이걸로 하루 업무량을 날렸다.
다음날, ‘이건 분명 드라이버 문제다’ 라고 생각하고 오라클 인스턴트 클라이언트를 10.1로 교체했다.
베이직, JDBC, ODBC 전부…
제길… 아주 잘 돌아간다. DSN 등록할 때 드라이버명만 10.1과 맞게 맞춰주니 Heap예외도 없고, 접속도 잘 된다.
베타도 아니고 배포 버전에 이런 중대한 버그가 있는 건 오라클의 명성과는 참 상반되는 이야기인 것 같다.
(오라클이 국내 중소기업도 아니고… 테스트도 안해보고 내놓은건지 원…)
게다가 일반 유틸리티도 아니고 드라이버에 이런 문제가 있으면 이걸로 개발하는 사람들은 뭐가 되는건지…
Heap 문제는 오라클 포럼을 보니 metalink에 패치가 올라온 것 같은데, metalink는 오라클과 계약관계인 기업만 ID부여가 된다.
일반 사용자는 뭐가 되는거냐? 다운로드 페이지에 10.2 버전 ODBC에 문제가 있다고 공지라도 하던지…
그냥 하루 날린 기념으로 끄적대 보았다.
결론은,
10.2 버전 JDBC는 잘 되고, ODBC만 문제가 있으니 ODBC 사용하실 분은 10.1 set으로 맞추세요.