본문 바로가기

C..C++....

msado15.dll를 이용한 oledb사용시 CreateInstance(__uuidof(Connection)) 실패할때..

 


빌드한 환경
windows7 Ultimate k 64 sp1
visual studio 2010 sp1

컴파일한 컴터에서는 아무런 이상없이 너무나도 잘된다..
그런데 다른 곳에서 하면 db connect에러가 자꾸 나온다..
도대체 뭐가 문제인지 몰라서 온갓곳을 다 찾아봤지만.. GG
안되는 컴터에 remode debuger 설치해놓고 디버깅해본결과
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" 
rename( "EOF", "adoEOF" ) no_namespace
...
...
CreateInstance(__uuidof( Connection ));
...
...
Com객체를 생성하지 못하는것이였다..
"msado15.dll" 버전이 windows 7 sp1에서부터 호환이 안되는건지.. 
sp1설치하고 나서부터 안되는거 같아서 임시방편으로 대상 컴퓨터의 "msado15.dll"을 복사후
재컴파일 해서 하니깐 잘된다~
첨부 파일(windows server 2003 32bit용 msado15.dll)
msdn해결 방법 "http://support.microsoft.com/kb/2517589"