Java H2拒绝与本地主机的连接

Java H2拒绝与本地主机的连接,java,database-connection,h2,connection-refused,Java,Database Connection,H2,Connection Refused,我有一个非常简单的java类,我尝试运行H2 DB,如下所示: public static void main(String[] args) { Connection conn = null; try { Class.forName("org.h2.Driver"); Server server = Server.createTcpServer("-tcpPort", "50001", "-tcpAllow

我有一个非常简单的java类,我尝试运行H2 DB,如下所示:

public static void main(String[] args) {
     Connection conn = null;
                try {
            Class.forName("org.h2.Driver");
            Server server = Server.createTcpServer("-tcpPort", "50001", "-tcpAllowOthers").start();

            conn = DriverManager.getConnection(
                    "jdbc:h2:tcp://localhost/~/H2TestDB/SMPS_DK", "sa", "sa");
我试图复制我在这里和H2文档中发现的内容,但由于某种原因,连接被拒绝。我试图在这里找到解决办法,但到目前为止还没有成功。仅供参考:我是一个新手,如果可能的话,能得到一个更详细的答案就太好了;)提前谢谢

下面是stacktrace:

> org.h2.jdbc.JdbcSQLException: Verbindung ist unterbrochen: "java.net.ConnectException: Connection refused: connect: localhost"
Connection is broken: "java.net.ConnectException: Connection refused: connect: localhost" [90067-196]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
    at org.h2.message.DbException.get(DbException.java:168)
    at org.h2.engine.SessionRemote.connectServer(SessionRemote.java:457)
    at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:334)
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:116)
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:100)
    at org.h2.Driver.connect(Driver.java:69)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at connection.Main.main(Main.java:26)
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at org.h2.util.NetUtils.createSocket(NetUtils.java:103)
    at org.h2.util.NetUtils.createSocket(NetUtils.java:83)
    at org.h2.engine.SessionRemote.initTransfer(SessionRemote.java:115)
    at org.h2.engine.SessionRemote.connectServer(SessionRemote.java:453)
    ... 7 more
org.h2.jdbc.JdbcSQLException:Verbindung ist unterbrochen:“java.net.ConnectException:拒绝连接:connect:localhost” 连接断开:“java.net.ConnectException:连接被拒绝:connect:localhost”[90067-196] 位于org.h2.message.DbException.getJdbcSQLException(DbException.java:345) 位于org.h2.message.DbException.get(DbException.java:168) 位于org.h2.engine.SessionRemote.connectServer(SessionRemote.java:457) 位于org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:334) JdbcConnection(JdbcConnection.java:116) JdbcConnection(JdbcConnection.java:100) 位于org.h2.Driver.connect(Driver.java:69) 位于java.sql.DriverManager.getConnection(未知源) 位于java.sql.DriverManager.getConnection(未知源) at connection.Main.Main(Main.java:26) 原因:java.net.ConnectException:连接被拒绝:连接 位于java.net.DualStackPlainSocketImpl.waitForConnect(本机方法) 位于java.net.DualStackPlainSocketImpl.socketConnect(未知源) 位于java.net.AbstractPlainSocketImpl.doConnect(未知源) 位于java.net.AbstractPlainSocketImpl.connectToAddress(未知源) 位于java.net.AbstractPlainSocketImpl.connect(未知源) 位于java.net.PlainSocketImpl.connect(未知源) 位于java.net.socksocketimpl.connect(未知源) 位于java.net.Socket.connect(未知源) 位于org.h2.util.NetUtils.createSocket(NetUtils.java:103) 位于org.h2.util.NetUtils.createSocket(NetUtils.java:83) 位于org.h2.engine.SessionRemote.initTransfer(SessionRemote.java:115) 位于org.h2.engine.SessionRemote.connectServer(SessionRemote.java:453) ... 还有7个
代码似乎是正确的,您是否检查了本地数据库服务器/服务是否已启动并正在运行?同时检查您的密码。是否设置了密码?谢谢您的快速回复。我已经将pw和acc设置为“sa”,这不应该是问题所在。至于本地数据库服务器/服务:我的印象是,这就是我启动服务器的方式:server server=server.createTcpServer([…]);我还研究了这一点:我将jar添加到构建路径,但希望从我的应用程序而不是在cmd上启动所有内容。您需要使用更改后的端口
localhost:50001