簡體   English   中英

無法連接到hsqldb數據庫

[英]Cannot connect to hsqldb database

我正在使用以下命令使用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

有人可以幫助我了解為什么會出現此錯誤以及如何解決該錯誤嗎?

謝謝

hsqldb的默認端口是9001

運行netstat -an檢查端口9001上是否存在偵聽

netstat -an | grep LISTENING netstat -an | grep LISTENING檢查所有偵聽傳入連接的服務器

netstat -an | grep 9001 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)

您似乎試圖綁定到端口0,但它不存在。 嘗試配置其他端口

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM