Я использую 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()
более одного раза.
Теперь дело в том, что первый раз запрос работает нормально, остальные три раза выдает ошибку, о которой ниже.
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)
Пожалуйста, дайте мне знать, где что-то пошло не так?
Примечание. Я запускаю программу в 64-разрядной версии Windows 7. Зарегистрированный источник данных с использованием 32-битного драйвера на локальном компьютере (из пути: %windir%/SYSWOW64/odbcad32.exe
)