Java H2拒绝与本地主机的连接
我有一个非常简单的java类,我尝试运行H2 DB,如下所示: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
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