在H2控制台中找不到在JAVA中创建的H2数据库?

时间:2019-11-21 16:25:21

标签: java database h2

目前有一个简单的Java程序可以创建H2数据库,如下所示:

public static void main(String[] args) {
try {
    Connection conn = null;
    Statement stm = null;
    Class.forName("org.h2.Driver");
    conn = DriverManager.getConnection("jdbc:h2:D:/H2db/test", "sa", "sa");
    stm = conn.createStatement();
} catch (SQLException | ClassNotFoundException e) {
    e.printStackTrace();
}

我看到在目录中创建的文件。但是,当尝试从H2控制台(localhost:8082)访问同一数据库并输入两者时 jdbc:h2:D:/H2db/testjdbc:h2:D:\H2db\test,我收到一条错误消息:

Database `D:/H2db/test` not found, either pre-create it or 
allow remote database creation (not recommended in secure environments)

有人知道为什么我无法通过控制台访问数据库吗?

1 个答案:

答案 0 :(得分:0)

那段代码仅用于连接到先前创建的数据库。要成功连接到它,您应该先创建它。

$ java -cp bin/h2-1.4.199.jar org.h2.tools.Shell
Welcome to H2 Shell 1.4.199 (2019-03-13)
Exit with Ctrl+C
[Enter]   jdbc:h2:mem:test
URL       jdbc:h2:D:/h2db/test
[Enter]   org.h2.Driver
Driver    
[Enter]   sa
User      
Password

然后只有这样,您才能通过Java应用程序连接到它。