2

次のコマンドを使用して、Windows コマンドを使用してデータベースを作成し、それに接続していますが、java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bindエラーが発生しています。

xdbという名前のデータベースを作成して接続するために使用するコマンド:

java -cp ./lib/hsqldb.jar org.hsqldb.Server -database.0 file:mydb -dbname.0 xdb

完全なエラー:

[Server@83cc67]: [Thread[main,5,main]]: checkRunning(false) entered
[Server@83cc67]: [Thread[main,5,main]]: checkRunning(false) exited
[Server@83cc67]: Startup sequence initiated from main() method
[Server@83cc67]: Loaded properties from [C:\Home\hsqldb\server.properties]
[Server@83cc67]: Initiating startup sequence...
[Server@83cc67]: [Thread[HSQLDB Server @83cc67,5,main]]: run()/openServerSocket(
):
java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
        at java.net.ServerSocket.bind(ServerSocket.java:319)
        at java.net.ServerSocket.<init>(ServerSocket.java:185)
        at java.net.ServerSocket.<init>(ServerSocket.java:97)
        at org.hsqldb.HsqlSocketFactory.createServerSocket(Unknown Source)
        at org.hsqldb.Server.openServerSocket(Unknown Source)
        at org.hsqldb.Server.run(Unknown Source)
        at org.hsqldb.Server.access$000(Unknown Source)
        at org.hsqldb.Server$ServerThread.run(Unknown Source)
[Server@83cc67]: Initiating shutdown sequence...
[Server@83cc67]: Shutdown sequence completed in 6 ms.
[Server@83cc67]: 2012-05-18 01:31:59.184 SHUTDOWN : System.exit() is called next

このエラーが発生する理由とその解決方法を誰かが理解するのを手伝ってくれますか?

ありがとう

4

2 に答える 2

4

hsqldb のデフォルトのポートは 9001 です

チェックを実行netstat -anして、ポート 9001 で何かがリッスンしているかどうかを確認します

netstat -an | grep LISTENING着信接続をリッスンしているすべてのサーバーを確認する

netstat -an | grep 9001特定のポート番号を確認します。

すでにそこに何かがある場合、開始しようとしている hsqldb の新規は、ソケットを 9001 ポートにバインドできません。

Windows 7 では、 TCPViewを実行して、「混雑した」ポートで現在リッスンしているプロセスを確認できます。次に、9001 を使用しているプロセスを終了するか、hsqldb とクライアント アプリケーションを再構成して別の (未使用の) ポートを使用するかを決定する必要があります。

--port XXXX を使用して、hsqldb がリッスンするポートを変更することができます。ここで、XXXX は新しいポート番号です。

また、java -cp ./lib/hsqldb.jar org.hsqldb.Server --help出力から...

The server looks for a 'server.properties' file in the current directory and loads properties from it if it exists. Command line options override those loaded from the 'server.properties' file.

このエラーには他にも考えられる原因があるため、hsqldb が実行されているオペレーティング システムを把握しておくと役立ちます。

ソケットへのバインドの失敗は、サーバー アプリケーションに影響を与える可能性がある問題であるため、JBOSS についての質問など、このエラーを返す他のサーバー ソフトウェアに対して提供された回答を確認できます。

java.net.SocketException: 認識されない Windows ソケット エラー: 0: JVM_Bind (JBOSS)

于 2012-05-17T20:36:36.217 に答える
0

ポート 0 にバインドしようとしているようですが、存在しません。別のポートを設定してみてください

于 2012-05-17T20:23:53.303 に答える