H2 отказывается подключаться к локальному хосту

у меня есть этот очень простой класс Java, где я пытаюсь запустить базу данных H2 следующим образом:

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, но по какой-то причине в соединении отказывается. Я пытался найти решение здесь, но пока безуспешно. К вашему сведению: я новичок, поэтому было бы здорово получить более подробный ответ, если это возможно;) Заранее спасибо!

Вот трассировка стека:

> 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

person Zipfelchen    schedule 27.10.2017    source источник
comment
код кажется правильным, вы проверили, работает ли ваш локальный сервер/служба базы данных?   -  person Johannes Griebenow    schedule 27.10.2017
comment
Также проверьте свой пароль. Вы его установили?   -  person imk    schedule 27.10.2017
comment
Спасибо за быстрый ответ. Я установил pw и acc to sa, это не должно быть проблемой. Что касается локального сервера/службы БД: у меня сложилось впечатление, что именно так я запускаю сервер: Server server = Server.createTcpServer([...]);   -  person Zipfelchen    schedule 27.10.2017
comment
Я также посмотрел на это: stackoverflow.com/a/21672625/8842588 Я добавил банку в путь сборки, но хочу запустить все из моего приложения, а не в cmd   -  person Zipfelchen    schedule 27.10.2017
comment
Вам нужно использовать измененный порт localhost:50001   -  person Oleg    schedule 27.10.2017