I've encountered this error, and I've read this article back and forth but no vain.
Finally, I've understood that the trouble is something with the security. So, my solution was to use the local (default) mdw file (Microsoft Access Workgroup Information) like this:
string strConnectionString =
"Provider='Microsoft.Jet.OLEDB.4.0';Data Source=" + p_strFileName +
";Jet OLEDB:Database Password=" + p_strDBPassword +
";Mode=Share Exclusive;Persist Security Info=True;";
// Important part - using mdw file
strConnectionString += "Jet OLEDB:System Database=" +
Environment.GetEnvironmentVariable("APPDATA") +
@"MicrosoftAccesssystem.mdw";
and use the connection on code:
var conn = new OleDbConnection(strConnectionString);
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…