Я столкнулся с этой же проблемой при первой компиляции с новой версией msado15.dll. Существуют зависимости между msado15.dll и msjro.dll, о чем свидетельствуют эти строки в верхней части msjro.tlb:
// Cross-referenced type libraries:
//
// #import "C:\Program Files (x86)\Common Files\System\ado\msado15.dll"
//
В моем случае проблема возникла из-за того, что я создаю свое приложение на Windows 7, а обновление SP1 включает в себя серьезное изменение в msado15.dll , которое приведет к сбою приложения в Windows XP. Когда я исправил эту проблему, используя this KB, мои проблемы с msado dll были исправлены, но мой msjro.tlb перестал компилироваться.
Вероятно, есть способ обновить msjro для ссылки на нужное / правильное msado (в моем случае msado60_Backcompat.tlb, как установлено в КБ), но если вы используете классы CADODatabase , определенные в ado2.cpp и ado2.h, и если вы не используете специфичные для джета функции, то проще всего закомментировать части ado2.h и ado2.cpp, которые ссылаются на струю.
Я только что закомментировал эту строку в ado2.h:
//#import <MSJRO.DLL> no_namespace rename("ReplicaTypeEnum", "_ReplicaTypeEnum")
, а также # ifdef'd все реализации методов CJetEngine в ado2.cpp, и это сработало для меня.
Удачи!