C#中的MS Access Connect(VS 2010)

时间:2012-05-27 14:02:03

标签: c# ms-access-2007

我正在使用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();
}

数据库返回有效的DataSet ......这不是Access 2000数据库的问题

但是当我将连接字符串更改为

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

对于MSAccess2007,找不到数据库路径,并且虽然它存在,但会生成异常。我错过了任何参考资料吗?

1 个答案:

答案 0 :(得分:0)

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

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

请参阅connectionstrings.com以供参考。