2014-01-20 44 views
1

我正在使用JDK 1.6。與此我想連接到Access數據庫。爲此,我已經註冊了一個系統DNS &,嘗試使用JDBC-ODBC連接來連接該數據庫。JDBC-ODBC SQLException:常規錯誤

當我連接它&通過觸發一個簡單的查詢來檢查連接是否已正確建立或測試。

這是我的代碼片段來執行查詢。

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()方法。

現在的問題是,查詢第一次正常工作,其餘三次出現錯誤,這在下面提到。

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)數據源

回答

0

我真的不知道這一點,但嘗試這樣的事情:

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(); 
    } 
}