try{
IJetEnginePtr jet(__uuidof(JetEngine));
_bstr_t s1 = "Provider=Microsoft.Jet.OLEDB.4.0;Password=;"
"Data Source=D:\\DB\\data.mdb;Persist Security Info=True;"
"Jet OLEDB:Engine Type=5;Jet OLEDB:Database Password=datasoft";
_bstr_t s2 = "Provider=Microsoft.Jet.OLEDB.4.0;Password=;"
"Data Source=D:\\temp.mdb;Persist Security Info=True;"
"Jet OLEDB:Engine Type=5;Jet OLEDB:Database Password=datasoft";
jet->CompactDatabase(s1,s2);
bCompactMDB = TRUE;
}
// 捕捉异常
catch(_com_error e)
{
CString errormessage = _T("");
errormessage.Format(STR_ADO_COMPACT_FAILURE, e.ErrorMessage());
::AfxMessageBox(errormessage);// 显示错误信息
}
出现错误信息:IDispatch error #3105
为啥啊????????????????????????????
IJetEnginePtr jet(__uuidof(JetEngine));
_bstr_t s1 = "Provider=Microsoft.Jet.OLEDB.4.0;Password=;"
"Data Source=D:\\DB\\data.mdb;Persist Security Info=True;"
"Jet OLEDB:Engine Type=5;Jet OLEDB:Database Password=datasoft";
_bstr_t s2 = "Provider=Microsoft.Jet.OLEDB.4.0;Password=;"
"Data Source=D:\\temp.mdb;Persist Security Info=True;"
"Jet OLEDB:Engine Type=5;Jet OLEDB:Database Password=datasoft";
jet->CompactDatabase(s1,s2);
bCompactMDB = TRUE;
}
// 捕捉异常
catch(_com_error e)
{
CString errormessage = _T("");
errormessage.Format(STR_ADO_COMPACT_FAILURE, e.ErrorMessage());
::AfxMessageBox(errormessage);// 显示错误信息
}
出现错误信息:IDispatch error #3105
为啥啊????????????????????????????
这条成功了啊~
Password=;这一项是不是多余的
是不是版本的问题?现在的系统里MDAC是2.8的~
hr=m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=api.mdb;
User ID=admin;Password=;Jet OLEDB:Database Password=0189","","",adModeUnknown);
谢谢大家的热心回答~~~~~~Persist Security Info=True 时不能压缩