Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");      
       String database = "driver={Microsoft Access Driver (*.mdb)};DBQ=&server.MapPath(" + savedMdbFilePathAndName.trim() + ");";      
       connection = DriverManager.getConnection(database, "", "");            
       statement = connection.createStatement(); 
在红色那行报错了。。  
java.sql.SQLException: No suitable driver found for driver={Microsoft Access Driver (*.mdb)};DBQ=e://data.mdb;
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
该有的包都有了。  百度了很久,都找不到原因。

解决方案 »

  1.   

    控制台错误提示:java.sql.SQLException: No suitable driver found for driver={Microsoft Access Driver (*.mdb)};DBQ=e://data.mdb;
    at java.sql.DriverManager.getConnection(Unknown Source)
      

  2.   

    Access 的版本是 2007 
      

  3.   

    我修改了 其中的一行
      String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + savedMdbFilePathAndName.trim() + ";";      
    然后出现了 下面的错误。
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access ?????] ???ܴ???ݿ? '(δ֪??)'??Ӧ?ó???????޷?ʶ?????ݿ⣬???ļ??????
      

  4.   

    顶楼的String没写正确,应该是:
    String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=文件全路径";三楼的最后那个分号可以不要,不过乱码就不知道啥问题了。 你实验下这么修改:
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");     
    Properties prop = new Properties();  
    prop.put("charSet", "GBK"); // 设置字符集,可能要换着试试看,UTF-8 啥的
    prop.put("user", "用户名"); // 如果有访问用户密码啥的
    prop.put("password", "密码"); // 如果有访问用户密码啥的
    String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=文件全路径"; // 直接先写死做测试,别组装了
    connection = DriverManager.getConnection(url, prop);
      

  5.   

    哥们  按照你方法修改后 提示出这个了java.sql.SQLException: [Microsoft][ODBC Microsoft Access 驱动程序] 不能打开数据库 '(未知的)'。应用程序可能无法识别该数据库,或文件可能损坏。
    我双击了下 那个文件 能够正确打开,没提示文件破坏。
    但是程序执行确这样。。Access 的版本是 2007  
      

  6.   

    1、检查文件路径是否完整及正确。
    2、检查手头这个JDBC的Access驱动包,是否最新,能否支持2007的。
      

  7.   

     String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=" + file + "";      这条语句我修改了下  然后出现了这个  [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
      

  8.   

    为啥要加“*.accdb” ??检查下完整的URL吧:
    System.out.println(database);
      

  9.   

    因为 我的版本是2007 的 我只是把文件保存成2003后缀的格式另外打印出来的是
    jdbc:odbc:Driver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=e://data.mdb
      

  10.   

    你的Access JDBC驱动不支持 *.accdb,所以报告:[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序路径名有点怪,应该是 DBQ=e:\data.mdb