【发布时间】:2017-11-12 15:36:54
【问题描述】:
我正在整理一个小型 Java 应用程序,我想使用嵌入式数据库,所以我使用 H2。我按照教程进行了设置,并在第一次运行时进行了测试,看看它是否有效。我以前从未运行过它,所以它实际上并没有被使用,当我第一次运行它时它仍然抛出以下错误。
org.h2.jdbc.JdbcSQLException:数据库可能已在使用中:null。可能的解决方案:关闭所有其他连接;使用服务器模式[90020-196]
这是我写的。
它附在表单的提交按钮上。
JButton btnRegisterupdate = new JButton("Register/Update");
btnRegisterupdate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0){
try {
Class.forName("org.h2.Driver");
Connection connection = DriverManager.getConnection("jdbc:h2:~/test", "sa", " ");
JOptionPane.showMessageDialog(null, "Connection Awesome");
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
btnRegisterupdate.setBounds(10, 243, 146, 23);
frame.getContentPane().add(btnRegisterupdate);
}
}
【问题讨论】:
-
我在这里冒险猜测一下:当你按下按钮和释放它时,你正在打开一个连接。
-
我能做些什么来解决这个问题?
-
请发帖minimal reproducible example。您应该发布足够多的代码,以便任何人都可以自己复制和运行它,并获得您所询问的完全相同的行为。还要确保不包含任何与您的问题无关的不相关代码。通常,开始一个新项目并编写一个简单的示例来说明您的问题会很有帮助。这有助于您忽略整个程序中的任何不相关的细节。
-
已经修复。见下文。