我正在组装一个小型 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);
}
}
最佳答案
运行bin文件夹中的可执行jar文件。这将在浏览器中打开。单击“服务器设置”下拉列表并将其更改为“通用 H2(服务器)”。以前它被设置为通用 H2(嵌入式),这就是它对我不起作用的原因。
关于java - 为什么我刚刚实现的 H2 数据库会出现 "Database may be already in use: null"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44477766/