在 JAVA 中创建的 H2 数据库未在 H2 控制台中找到?
H2 Database created in JAVA not found in H2 Console?
目前有一个简单的 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/test
和 jdbc:h2:D:\H2db\test
,我收到一条错误消息:
Database `D:/H2db/test` not found, either pre-create it or
allow remote database creation (not recommended in secure environments)
有人知道为什么我无法通过控制台访问数据库吗?
该段代码仅用于连接到先前创建的数据库。要成功连接到它,您应该先创建它。
$ 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 应用程序连接到它。
目前有一个简单的 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/test
和 jdbc:h2:D:\H2db\test
,我收到一条错误消息:
Database `D:/H2db/test` not found, either pre-create it or
allow remote database creation (not recommended in secure environments)
有人知道为什么我无法通过控制台访问数据库吗?
该段代码仅用于连接到先前创建的数据库。要成功连接到它,您应该先创建它。
$ 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 应用程序连接到它。