1

我在互联网上搜索了这个问题,但我无法弄清楚。

我正在 Netbeans 上开发 Java 应用程序,并通过 Netbeans IDE 连接到 H2 数据库引擎。我对使用控制台不感兴趣。

连接H2的代码如下(来自客户端):

Connection connt = null;
String url = "jdbc:h2:tcp://" + SERVER_IP + ":" + SERVER_PORT + "//C:/Databases/businessApp;";
connt = DriverManager.getConnection(url, "sa", "");

当代码到达.getConnection()方法时,它会停留在那里并且什么也不做。我几乎可以肯定 URL 语法有问题。

SERVER_IP并且SERVER_PORT在前面定义并且不为空。

4

2 回答 2

0

我认为“businessApp”之后的半冒号(;)是罪魁祸首。删除后试试。

于 2012-12-28T10:27:21.120 回答
0

我认为罪魁祸首是你的最终连接字符串,它看起来像

"jdbc:h2:tcp://192.168.1.154:8080//C:/Databases/businessApp"

而 h2 显然无法识别 UNC 路径。

由于路径使用不同的约定,因此 GNU/Linux 下的上述内容将起作用:

"jdbc:h2:tcp://192.168.1.154:8080/home/user/Databases/businessApp"

我找到的解决方案是在端口号后添加一个斜杠,因此您的字符串将变为:

"jdbc:h2:tcp://192.168.1.154:8080/C:/Databases/businessApp"

这适用于 Linux 和 Windows

于 2013-02-26T09:50:22.397 回答