我通过以下方式连接ACCESS
        Connection conn = null;
        String SERVANDDB ="jdbc:odbc:Driver={MicroSoft Access Driver(*.mdb)};"+
                          "DBQ=D:\\diyu\\ME.mdb";
        String USERNAME = "";
        String PWD = "";
        try {
            conn = DriverManager.getConnection(SERVANDDB, USERNAME, PWD);
        } catch (Exception e) {
            e.printStackTrace();
        }
运行的结果是
java.sql.SQLException: No suitable driver
没有合适的驱动!
请问需要什么驱动?MDAC的程序包是有的,是否需要什么其他的JAR包?
就象连接SQLSERVER数据库需要MS BASE。JAR MSSQLSERVER。JAR和MSUTIL。JAR一样?
请高人告知!

解决方案 »

  1.   

    另外,我下载了一个开源的Jackcess包,是读写MS ACCESS的纯JAVA包,
    我也下了一个,按文档测试
            try{
                Database.open(new File("D:\\diyu\\ME.mdb")).getTable("test").display();
            }catch(Exception e){}
    结果是
    java.lang.UnsupportedClassVersionError: com/healthetscience/jackcess/Database (Unsupported major.minor version 49.0)这个包的下载地址是
    http://sourceforge.net/project/showfiles.php?group_id=134943我的目的其实很简单,就是希望通过简便的方式,连接ACCESS数据库
    再说明白点,不能用JDBC-ODBC桥的方式来连接
      

  2.   

    其实我最初是想用 JDataStore,可是这个轻量级数据库的自动增量我实在不知道是怎么玩,创建字段时他是有个AUTOINCREMENT的属性,可是插入记录时,你一定要手动输入才行(比如ID这个字段设为AUTOINCREMENT,当插入第一条记录时,我必须输入1;插入第二条记录,我必须输入2;如果不按这个次序输入,他会报错),我实在不知道他的自动增量怎么达到和SQLSERVER、ACCESS一样的效果,只好作罢,决定采用ACCESS!于是有上面的问题!
      

  3.   

    import java.sql.*;
    public class DataBase {
    public static void main(String [] args){
    try{
    String strurl="jdbc:odbc:driver={Microsoft Access Driver
    (*.mdb)};DBQ=demo.mdb";
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection conn=DriverManager.getConnection(strurl) ;
    Statement stmt=conn.createStatement();String sql = "select * from table ";
    ResultSet rs=stmt.executeQuery(sql);while(rs.next())
    System.out.println(rs.getString("name"));
    rs.close();
    stmt.close();
    conn.close();
    }
    catch(ClassNotFoundException cnfe){
    System.err.println(cnfe);
    }
    catch(SQLException sqle){
    System.err.println(sqle);
    }
    }
    }有demo.mdb数据库在工程目录,中有table数据库,中有name字段提示错误:
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] FROM 子句语法错

    这下子就搞不懂为什么出错了
      

  4.   

    String SERVANDDB ="jdbc:odbc:Driver={MicroSoft Access Driver(*.mdb)};"+
                              "DBQ=D:\\diyu\\ME.mdb";
    中的Driver换成driver(要小写)
      

  5.   

    String SERVANDDB ="jdbc:odbc:driver={MicroSoft Access Driver(*.mdb)};"+
                              "DBQ=D:\\diyu\\ME.mdb";