Windows 10 笔记本电脑 x64 位
我有 Microsoft Access 2010
安装的驱动程序:
-Microsoft Office Access 数据库引擎 2007(我认为是 32 位)
-Microsoft Access 数据库引擎 2010(我认为是 64 位)
我最近继承了一个 C# 项目(我认为是 .net 4.0),但我在正确设置代码时遇到了麻烦,从我读到的内容来看,这是由于项目使用了(受密码保护的)Microsoft Access 数据库。最初它由一位主要开发人员处理,然后交给我。
安装 2007 Microsoft 驱动程序有助于解决“注册问题”,但我发现该程序无法访问数据库。
运行代码我在下面得到一个错误。
System.Data.OleDb.OleDbException:无法打开数据库“”。它可能不是您的应用程序识别的数据库,或者文件可能已损坏。
我发现如果我打开 Microsoft Access 2010,创建一个空数据库,从原始数据库中导入所有内容,然后在没有密码的情况下保存,那么它似乎运行良好。但是当涉及密码时,它会停止工作
我的 App.Config 文件:
<add key ="exampletest"
value ="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test\testDB.accdb;" />
在我的 accesshelper 文件中:
Public static readonly string ConnectionString =
ConfigurationManager.AppSettings["exampletest"].ToString() +
"Jet OLEDB:Database Password=Abc1234;";
...
Using (OleDbConnection conn = new OleDbCommection(connectionString))
{
...
If (con.State !=ConnectionState.Open)
conn.Open();
...
}
该代码适用于原始开发人员,但如果没有像删除密码这样的解决方法(代码上的密码(Abc1234)是正确的。我知道,因为如果我在 Microsoft Access 2010 中打开数据库,我似乎无法重现同样的成功; 我必须输入密码)