1

私はこの質問のためにインターネットを回ったが、それを理解することができない。

NetbeansでJavaアプリケーションを開発しており、NetbeansIDEを介して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は以前に定義されており、nullではありません。

4

2 に答える 2

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 に答える
0

「businessApp」の後のセミコロン(;)が原因だと思います。取り外してみてください。

于 2012-12-28T10:27:21.120 に答える