繁体   English   中英

JDBC-ODBC SQLException:常规错误

[英]JDBC-ODBC SQLException:General Error

我正在使用JDK 1.6。 这样,我想连接到Access数据库。 为此,我已经注册了系统DNS,并尝试使用JDBC-ODBC连接来连接该数据库。

当我连接它并通过触发一个简单的查询来测试它以检查连接是否正确建立时进行测试。

这是我执行查询的代码段。

public void testConnection() {
    Connection conn = DBUtil.getConnection();
    Statement stmt = null;

    try {
        stmt = conn.createStatement();

        ResultSet rs = stmt.executeQuery("SELECT id FROM inventory");

        System.out.println("Connection Successful");
    } catch (Exception ex) {
        ex.printStackTrace();
    } finally {
        try {
            if (stmt != null) {
                stmt.close();
            }

            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

testConnection()调用testConnection()方法。

现在的问题是,查询第一次可以正常工作,其余三次给出错误,下面将进行介绍。

java.sql.SQLException: General error
at sun.jdbc.odbc.JdbcOdbc.throwGenericSQLException(JdbcOdbc.java:7086)
at sun.jdbc.odbc.JdbcOdbc.SQLAllocStmt(JdbcOdbc.java:173)
at sun.jdbc.odbc.JdbcOdbcConnection.prepareStatement(JdbcOdbcConnection.java:465)
at sun.jdbc.odbc.JdbcOdbcConnection.prepareStatement(JdbcOdbcConnection.java:443)

请让我知道问题出在哪里?

注意 :我正在Windows 7(64位版本)上运行该程序。 使用本地计算机上的32位驱动程序注册的数据源(来自路径: %windir%/SYSWOW64/odbcad32.exe

我真的不确定,但是尝试这样的事情:

public void testConnection() {
    Connection conn = null;
    PreparedStatement pre =null;
    ResultSet rs =null;

    try {
        conn = DBUtil.getConnection();
        PreparedStatement pre = conn.prepareStatement("select id from inventory");
        rs = pre.executeQuery();

        System.out.println("Connection Successful");
    } catch (Exception ex) {
        ex.printStackTrace();
    } finally {
            conn.close(); 
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM