大家好!我以前涉及数据库用的都是SQL Server。今天想试一下Access,于是打开Office2007新建了一个数据库,但在打开时出错。我担心是版本问题,就从微软网站下载了早期的示例数据库Nwind.mdb。但结果还是在conn.Open();那一行出错。我的机器是Win7,请教行家这里有什么问题,谢谢!
1、程序里我已经使用了using System.Data.OleDb;
2、连接字符串肯定没问题,我是从Server Explorer里拷出来的,Test Connection通过。程序如下:string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\download\Nwind.mdb";
OleDbConnection conn = new OleDbConnection(connectionString);
conn.Open();

解决方案 »

  1.   

    你用的是2007 文件后缀是accdb吧。。还有注意provider
    要写成这样:
    string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\download\Nwind.accdb";
      

  2.   

    Microsoft.ACE.OLEDB已经升级到12.0了,当然2007仍然可以创建 .mdb也可以打开
      

  3.   

    Data Source=C:\download\Nwind.mdb";
    与大小写有关吗?
      

  4.   

    我测试了一下,在我的机器上也出现了错误"未在本地计算机上注册Microsoft.Jet.OLEDB.4.0提供程序“
    ",系统是windows server 2008 64位的,按照下文设置以后,就能正常打开了"http://blog.crowe.co.nz/blog/archive/2007/04/16/728.aspx",但不知道楼主出现的错误和我测试的是否相似?
      

  5.   

    你没有安装ACCESS2003吧??
      数据库驱动
      

  6.   


    多谢各位!我用5楼的方法解决了(我用的是VS2008,同那篇文章显示不同):Build->Configuration Manager,在Platform里只有一个AnyCPU,后来增加了一个x86就好了。楼上其它建议等以后有机会再试。再次感谢!1楼的朋友:我(用office2007)建数据库时确实看到了accdb,但最后找到的文件是mdb。而那个Nwind.mdb是微软早期数据库,只有mdb的扩展名。