Таблица не найдена - PullRequest
       5

Таблица не найдена

0 голосов
/ 23 января 2020
public void tableupdate(JTable jTable1, String fill) {

    try {
        try {
            Class.forName("org.h2.Driver");
            Connection con = DriverManager.getConnection("jdbc:h2:file:D:/Inventory.db", "sa", "");

            Statement stat = con.createStatement();
            fill = "SELECT * FROM BOOKDESC";
            ResultSet rs = stat.executeQuery(fill);

            while (jTable1.getRowCount() > 0) {
                ((DefaultTableModel) jTable1.getModel()).removeRow(0);

            }
            int columns = rs.getMetaData().getColumnCount();
            while (rs.next()) {
                Object[] row = new Object[columns];
                for (int i = 1; i <= columns; i++) {
                    row[i - 1] = rs.getObject(i);

                }
                ((DefaultTableModel) jTable1.getModel()).insertRow(rs.getRow() - 1, row);

            }
            rs.close();
            stat.close();
            con.close();
        } catch (ClassNotFoundException e) {
            JOptionPane.showMessageDialog(null, e);
        }

    } catch (SQLException e) {
        JOptionPane.showMessageDialog(null, e);
    }

}

Таким образом, при каждом запуске я получаю эту ошибку.

org.h2.jdbc.JdbcSQLException: Table "BOOKDESC" not found;SQL statement: SELECT * FROM BOOKDESC [42102-154]

Я пытался добавить

;DB_CLOSE_DELAY=-1

;DATABASE_TO_UPPER=false

к URL-адресу соединения, но это не так работа

1 Ответ

0 голосов
/ 23 января 2020

Код ошибки [42102-154] означает, что оно было выброшено из H2 1.3.154. Эта арха c версия H2 не может прочитать базу данных, созданную 1.4.200 (из вашего скриншота консоли H2), и создает новую пустую базу данных в другом формате с другим расширением имени файла.

Вам необходимо обновить банку H2 в пути к классу вашего приложения до версии 1.4.200.

...