【发布时间】:2017-02-03 06:02:35
【问题描述】:
我用该代码创建了一个 mdb (Access Database 97) 文件,
string DBPath = @"C:\\Users\\Desktop\\test.mdb";
// create DB via ADOX if not exists
if (!File.Exists(DBPath))
{
ADOX.Catalog cat = new ADOX.Catalog();
cat.Create("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + DBPath);
cat = null;
}
// connect to DB
OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + DBPath);
con.Open();
当我尝试打开创建的数据库时,它会给出“无法识别的数据库格式”错误。
我使用的是 Microsoft Access 97 ,我猜它是 32 位的。 我从 C# 尝试了所有平台目标(x86、x64 和任何 CPU),但仍然是同样的问题。
我的电脑上安装了access 97和Microsoft Office 2010。
错误是这样的;
你能帮帮我吗?
【问题讨论】:
-
我看到您正在尝试连接 ACE OLEDB 12.0 驱动程序,而不是使用 Jet OLEDB 驱动程序。仅对 MS Access 97/2000 使用 Jet OLEDB 驱动程序。
-
如何在构建选项上定位 C#project? Jet OLEDB Database Driver 的名称是什么,我在参考资料中找不到?
-
已将“Microsoft.ACE.OLEDB.12.0”更改为“Microsoft.Jet.OLEDB.4.0”,但在打开 mdb 文件时仍然出现同样的错误
-
它现在应该适用于给定的连接字符串,尝试与之连接。检查MDB文件是否存在且没有损坏。
-
我正在新建“mdb”文件,没有损坏!没用的哥们..
标签: c# winforms ms-access oledb