本帖最后由 arwutang 于 2011-02-19 21:34:43 编辑

解决方案 »

  1.   

    Microsoft.ACE.OLEDB.12.0?你到另一个机器上去验证了吗?通常说到什么Access数据库,就是指使用Jet引擎程序。绝不是你的这个!
      

  2.   

    估计是你的连接字符串设置有误,导致别的机器上无法使用,连接字符串参考:http://www.connectionstrings.com
    根据机器的情况,使用合适的连接字符串。
      

  3.   

    数据库路径、权限,目标电脑上需要安装 Access 2007 的驱动程序。运行打包部署向导制作安装程序。
      

  4.   

    你的电脑估计安装了office2007或以上版本,才能使用 Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Course.accdb连接字符串如果客户机安装了office2007以下版本或者没有安装office2007,你要使用:Provider=Microsoft.Jet.OleDB.4.0;Data Source=.........这个连接字符串
    建议你在你的程序数据连接那里修改为:try
    {
    OleDbConnection accesscon = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Course.accdb");
      OleDbDataAdapter accapa = new OleDbDataAdapter("select * from course order by id", accesscon);
      DataSet tab2 = new DataSet();
      accapa.Fill(tab2);
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }
    看看是否因为连接不上数据库导致的。
    我的经验:你的office版本比客户端要高导致的
      

  5.   

    你使用的那个驱动,是Office的一整套驱动,而不是专门为Jet的。http://www.microsoft.com/downloads/zh-cn/details.aspx?displaylang=zh-cn&FamilyID=7554f536-8c28-4598-9b72-ef94e038c891
      

  6.   

    通常如果有人说要安装mdac,大致是为了安装Jet驱动。可是你并没有使用Jet驱动,而是使用另外一套,安装mdac没有用。
      

  7.   

    "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+filepath +";Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1';"http://www.microsoft.com/downloads/details.aspx?familyid=7554f536-8c28-4598-9b72-ef94e038c891&displaylang=en 2007   Office   System   Driver:   Data   Connectivity   Components
    64 位 OLEDB Provider for ODBC (MSDASQL)http://www.microsoft.com/downloads/details.aspx?FamilyID=000364db-5e8b-44a8-b9be-ca44d18b059b&displayLang=zh-cn