2

我正在使用 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,找不到数据库路径,尽管存在异常,但仍会生成异常。我错过了任何参考吗?

4

1 回答 1

0

尝试将您的 Access 数据文件扩展名从.mdb更改为.accdb

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Databases\\"+DBname+".accdb";

请参阅connectionstrings.com以供参考。

于 2012-05-27T14:09:39.390 回答