java - 为什么我刚刚实现的 H2 数据库会出现 "Database may be already in use: null"错误?

标签 java h2

我正在组装一个小型 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/

相关文章:

java - 如何处理重复的 block

Java,通用启用对象列表的隐式和显式类型转换

java - 桌面应用程序中的领域驱动设计

java - 如何将 lib 包含到嵌入式 OpenLiberty jar 中?

spring - 带有 Spring 和 Hibernate 的内存数据库中的 DbUnit H2

java - 在 java 支持代码中使用资源包字符串?

java - 如何在行中设置 SWT 列表的高度?

java - H2 数据库上未执行 Sql 查询

java - 没有找到默认构造函数;嵌套异常是 java.lang.NoSuchMethodException bean 配置

java - 如何查看我的数据库H2的数据,为什么localhost :8080/h2_console not work?