강주희 님이 쓰신 글 :
: Vista에 ODBC 드라이버를 설치해서 FireBird에 연결 해야 하는데요..
: 현재 나와있는 ODBC Driver 2.0 버전을 설치 해서 해보려고 했는데,
: 설치는 잘 되지만 막상 윈도우의 ODBC 설정 창에는 Driver가 나오지 않습니다.
: Vista는 64bit Version을 설치를 했는데요, 64Bit용 ODBC Driver는 따로 있는지 알고 싶습니다.
: 아직 나오지 않았다면.. 앞으로 나올 계획은 있는건지.. 정보를 알고계신분 계시면 도움 부탁드립니다.
/////////////////////////////////////////////////////////////////////////////////////////////
우선 결론부터 말씀드리면, ODBC를 가급적이면 사용하지 말고 ADO 등으로 해서
DB server에 direct로 연결해 사용하시기를 권장합니다.
일단 몇가지 측면에서 고려할 부분이 있는데요,....
1. Vista OS 의 유의점 :
이 놈은 Program Files 디렉토리 아래에 존재하는 실행화일이나 text 파일 등에 대해서는
admin 권한이 아닐 경우 write가 안되고 원복이 됩니다. 고로, 만약 지금 firebird
연결을 위해 Program Files 아래에 존재하는 임의의 application을 통해 자동으로
ODBC 연결 설정을 registry api 를 이용하여 등록하신 것이라면 registry에 기록이
안될 수 있습니다. (관련하여 manifest를 통해 해결할 수도 있습니다만..)
2. 64비트 OS 의 유의점 :
이 OS에서는 32비트로 compile 된 application은 WOW64라는 놈을 통해 구동 시켜줍니다.
단, 32비트로 complie 된 application의 경우 ODBC 정보가 32 비트 전용 registry에 따로기록됩니다.
즉, 32비트 application이 등록한 ODBC 정보는 64비트 registry에는 기록되지 않기 때문에
안보일 수 있습니다. 물론 32비트 레지스트리에 기록된 ODBC 정보를 64비트 registry로
copy & paste 하면 되긴 됩니디만, 권장할 방법은 아닌 것 같습니다.
(저도 똑같은 경험을 해 본지라...
아마 32비트 registry는
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432NODE\ODBC...
64비트 registry는
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC..
뭐 이렇게 될겁니다.)
또, 반대의 경우도 있을 수 있는데 '관리도구'->'ODBC설정'에서 등록한 ODBC 연결정보는
64비트 registry에 기록됩니다.
그런데 구동하려는 application이 32비트에서 complie된 것이라면 32비트 registry에
copy & paste하면 구동이 되겠지요.
3. ODBC Driver의 문제점 :
정확한 정보는 아닙니다만, MS사에서 오래 전에 이 Driver에 대한 지원을 중단했다는 것으로
들었습니다. 그리고 저도 필요에 의해서 꽤 오랫동안 ODBC를 사용했습니다만, 버그가 무진장 많습니다.
단적으로 쿼리 타임아웃 뭐 이런 거는 지원이 안되는 것 같습니다. 그리고 종종 tranaction이
실제로는 종료되지 않았는데 ODBC function은 자기 혼자 그냥 리턴해버립니다.
결국 sleep을 주어서 땜빵을 한 기억이 있습니다.
그리고 ODBC driver가 64비트 전용이 존재하는 지는 저도 잘 모르겠습니다.
이런 저런 것 다 신경 쓰지 않으실려면 ADO를 사용하십시오.
더 상세한 내용을 말씀 드리지 못해 죄송하구요, 즐프~ 하시길 바랍니다.
|