Java 为什么我会得到一个“a”;数据库可能已在使用中:null";我刚刚实现的H2数据库出错?

Java 为什么我会得到一个“a”;数据库可能已在使用中:null";我刚刚实现的H2数据库出错?,java,h2,Java,H2,我正在组装一个小型Java应用程序,我想使用嵌入式数据库,所以我使用H2。我按照教程进行了设置,并在第一次运行时进行了测试,以查看它是否有效。我以前从未运行过它,所以它实际上不可能被使用,但当我第一次运行它时,它抛出了以下错误 org.h2.jdbc.JdbcSQLException:数据库可能已在使用中:null。可能的解决方案:关闭所有其他连接;使用服务器模式[90020-196] 这是我写的 它附在表单的提交按钮上 JButton btnRegisterupdate = new J

我正在组装一个小型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(嵌入式),这就是为什么它对我不起作用的原因。

我想在这里大胆猜测一下:当你按下按钮时,你正在打开一个连接,当你释放它时。我能做些什么来修复它?请发布一个帖子。您应该发布足够的代码,任何人都可以自己复制和运行,并获得与您所询问的完全相同的行为。另外,请确保不要包含任何与您的问题无关的代码。通常,启动一个新项目并编写一个简单的示例来说明您的问题是很有帮助的。这有助于您忽略完整程序中任何不相关的细节。已修复。见下文。