将Statement.RETURN_GENERATED_KEYS与MS-Access一起使用JDBC-ODBC引发异常

时间:2009-06-20 16:02:55

标签: java ms-access jdbc odbc

import java.sql.* ;
import java.util.* ;
import java.io.* ;

class DataBaseFactory{
    public static Connection getConnection() {
        // ...
    }
}

class Demo{
    public static void main(String []args) throws SQLException {
        Connection con = DataBaseFactory.getConnection() ;

        // This is throwing exception
        // PreparedStatement ps = con.prepareStatement("insert into user values(?,?)", Statement.RETURN_GENERATED_KEYS) ;

        // But this is working fine
        PreparedStatement ps = con.prepareStatement("insert into user values(?,?)") ;
    }
}

2 个答案:

答案 0 :(得分:0)

我的猜测是您使用的数据库驱动程序不支持RETURN_GENERATED_KEYS。您尝试连接的数据库是什么?

答案 1 :(得分:0)

JDBC-ODBC Bridge已过时,已从Java 8中删除。幸运的是,我们可以使用免费的开源UCanAccess JDBC驱动程序来处理来自Java的Access数据库,并且UCanAccess支持{{1 }}。有关更多信息,请参阅

Manipulating an Access database from Java without ODBC