2012-03-23 172 views
7

我使用H2數據庫的DBMS從遠程計算機,所以我啓用了從瀏覽器遠程訪問如下:連接有一個遠程數據庫

webAllowOthers=true 

但是當我試圖從我的Java應用程序連接到服務器我得到這個錯誤從H2:

remote connections to this server are not allowed 

截圖: enter image description here

而且也已經尋找到的代碼分析儀(錯誤代碼:9011 7):

REMOTE_CONNECTION_NOT_ALLOWED = 90117

與代碼90117的錯誤嘗試從另一臺機器連接到TCP服務器,如果遠程連接不允許時被拋出。要允許遠程連接,使用選項-tcpAllowOthers在啓動TCP服務器:

的Java org.h2.tools.Server -TCP -tcpAllowOthers

或者,從應用程序啓動服務器時,使用: Server server = Server.createTcpServer(「 - tcpAllowOthers」); server.start();

我不明白如何激活tcpAllowOthers,它不.h2.server.properties存在嗎?

回答

12

有兩種不同的服務器:

  • 用來運行H2控制檯工具(GUI工具)的Web控制檯服務器。它只能通過瀏覽器訪問。
  • TCP服務器,它允許連接使用客戶端/服務器模式(jdbc:h2:tcp://localhost/~/test

文件.h2.server.properties僅用於Web控制檯服務器時使用JDBC,一個應用程序。它只支持webAllowOthers=true。該文件不被TCP服務器使用。

要啓用遠程訪問TCP服務器,您需要使用選項-tcpAllowOthers啓動TCP服務器。要啓動這兩個Web控制檯服務器(H2控制檯工具)與遠程連接啓用了TCP服務器,您需要使用:

java -jar h2*.jar -web -webAllowOthers -tcp -tcpAllowOthers -browser 

(這還會啓動一個瀏覽器)

+0

+1快速反應,答案已經在http://www.h2database.com/html/tutorial.html#console_settings,:-) – 2012-03-23 11:35:02