最近碰到一个问题:在vs2010的mfc中使用ado连接access数据库时,在win7下能够连接成功,但把该程序拿到xp下就无法连接到数据库警告“不支持此接口”。百度了许久无法决解,又谷歌搜索了许久,终于发现了解决办法。
当时看微软的这篇文章http://support.microsoft.com/kb/2517589/zh-cn
我具体的代码是这样的
stdafx.h中
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace \ rename("EOF","adoEOF")
ado连接部分代码
hr=m_pConnection.CreateInstance(__uuidof(Connection)); if (FAILED(hr)){ _com_error e(hr); AfxMessageBox(e.ErrorMessage()); return; }
上述代码生成的程序,在win7下能正常运行,而将程序程序放到xp虚拟机下则是出现“不知此此接”口的错误。
将经stdafx.h中的
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace \ rename("EOF","adoEOF")
改成
#import "msado60_Backcompat.tlb" no_namespace rename("EOF","adoEOF")
便可解决问题,当然还要下载一下文件。
下载
Msado60_Backcompat_i386.tlb (http://download.microsoft.com/download/6/4/3/64318ED2-7E18-4A5C-80E2-9BDA0DF02DB3/msado60_Backcompat_i386.tlb)
Msado60_Backcompat_x64.tlb (http://download.microsoft.com/download/6/4/3/64318ED2-7E18-4A5C-80E2-9BDA0DF02DB3/msado60_Backcompat_x64.tlb)
Msado60_Backcompat_ia64.tlb (http://download.microsoft.com/download/6/4/3/64318ED2-7E18-4A5C-80E2-9BDA0DF02DB3/msado60_Backcompat_ia64.tlb)
近期评论