我已经使用VC ++ 2015构建了一个应用程序,这是一个MFC应用程序,我将项目设置为“ Cahracter Set = Not set”,因此不需要Unicode版本。
我的应用程序使用ADO连接数据库,所以
try {
HRESULT hr = m_pConnection.CreateInstance(__uuidof(adoNS::Connection));
if (SUCCEEDED(hr)) {
MessageBox(TEXT("CreateInstance succeeded!"));
}
catch (_com_error& e) {
MessageBox(e.Description());
}
catch (...) {
MessageBox(TEXT("OnNewDocument Exception!"));
}
以上是另一种处理方式。当我生成项目时,它可以在我的计算机Windows 7 x64上正常运行。但是,如果我在其他Windows 7上运行该应用程序,则没有任何异常,则CreateInstance不会成功!
所以问题出在ADO库上,请问如何解决?
经过一些搜索后,我已将ADO文件夹从目标计算机(另一台运行Windows 7 x86的计算机)复制到我的计算机(使用win7 x64)和VS2015。现在,我导入了这个新的ADO库:
#import "C:\Users\User7\Desktop\MyMfcProg\ado\msado15.dll" \
rename_namespace("adoNS") \
rename("EOF", "adoEOF")
现在,如果我构建它,两台机器都能正常运行!那到底是什么问题呢?我应该链接到每台目标计算机的ADO吗?还是问题仅涉及ADO 64位和ADO 32位?
如果是这样,我的win7 x64上有一个ADO:
C:\Program Files (x86)\Common Files\System\ado
我链接到它了,但是有同样的问题?