我正在使用VS 2010和C#。我想用 C# 连接到 MDB。"到目前为止,我所做的如下:
string strAccessConn = "Provider=Microsoft.ACE.OLEDB.4.0;Data Source=C:\Databases\"+DBname+".mdb";
DataSet myDataSet = new DataSet();
OleDbConnection myAccessConn = null;
try
{
myAccessConn = new OleDbConnection(strAccessConn);
OleDbCommand myAccessCommand = new OleDbCommand(Query, myAccessConn);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
myAccessConn.Open();
myDataAdapter.Fill(myDataSet, "Table");
}
catch(Exception Ex)
{
MessageBox.Show(Ex.ToString());
}
finally
{
myAccessConn.Close();
}
数据库返回有效的数据集...这不是 Access 2000 数据库的问题
但是,当我将连接字符串更改为
string strAccessConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Databases\"+DBname+".mdb";
对于 MSAccess2007,找不到数据库路径,并且会生成异常,尽管它存在。我是否缺少任何参考资料?
尝试将 Access 数据文件扩展名从 .mdb
更改为 .accdb
:
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Databases\"+DBname+".accdb";
请参阅 connectionstrings.com 以供参考。