如何使用c#连接到2007

时间:2010-12-13 09:45:17

标签: c# ms-access connection-string database-connection

哎, 我是连接到数据库的新手,由于某些原因,每次我使用以下行,我的程序崩溃:

    string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=|DataDirectory|\Company.accdb"
    OleDbConnection con = new OleDbConnection(connectionString);

在我的调试文件夹中,我获得了Company.accdb访问文件 编辑: 我得到'Microsoft.Ace.OLEDB12.0'提供商没有在本地机器上注册任何想法如何解决它? 在此先感谢您的帮助

1 个答案:

答案 0 :(得分:2)

两件事 -

  1. 此连接字符串依赖于ACE OLEDB提供程序(通常随Office 2007一起提供 - 您的计算机需要具有此提供程序)
  2. 连接字符串正在请求数据字典。您可能需要使用以下表格:

    Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:\ myFolder \ myAccess2007file.accdb; Persist Security Info = False;

  3. 对于受密码保护的文件,表单为Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Jet OLEDB:Database Password=MyDbPassword;

    我还建议尝试使用不同的Provider(也许是ODBC)。有关Access 2007的各种连接字符串,请参阅http://www.connectionstrings.com/access-2007