[英]Connection refused: connect Error in Java + Hibernate
我正在尝试做本教程 ,当我进入休眠部分时,出现以下错误:
java.sql.SQLException: Network error IOException: Connection refused: connect
at net.sourceforge.jtds.jdbc.JtdsConnection.<init>(JtdsConnection.java:436)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataS
ource.java:146)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(Wrap
perConnectionPoolDataSource.java:195)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(Wrap
perConnectionPoolDataSource.java:184)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourceP
oolManager.acquireResource(C3P0PooledConnectionPool.java:200)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.ja
va:1086)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAc
quiresWithinLockOnSuccess(BasicResourcePool.java:1073)
at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.j
ava:44)
at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(Basic
ResourcePool.java:1810)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolA
synchronousRunner.java:648)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(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 net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.jav
a:288)
at net.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java:251)
at net.sourceforge.jtds.jdbc.JtdsConnection.<init>(JtdsConnection.java:331)
... 10 more
这是访问数据库的hibernate.cfg.xml部分:
<!--Database connection settings-->
<property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
<property name="connection.url">jdbc:jtds:sqlserver://localhost:1433;databaseName=MyTut1db</property>
<property name="connection.username">sop1</property>
<property name="connection.password">myPW1</property>
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
用户sop1在MS SQL Server 2012 Express版本中创建为:
CREATE LOGIN sop1
WITH PASSWORD = 'myPW1';
USE MyTut1db;
GO
CREATE USER sop1 FOR LOGIN sop1;
GO
数据库属性如下图所示:
我已禁用MS SQL Server配置管理器中的TCP-IP(TCP端口为1433),但问题仍然存在。
我还关闭了防病毒软件一段时间。
我正在寻求帮助:那还能是什么? 如何验证用户? 我怎么知道localhost:1433
是正确的服务器?
我将按照以下步骤检查内容:
确保SQL Server已启动并正在运行 。 检查您正在运行的服务,以查看SQL Server服务是否已启动。
我将检查SQL Server配置管理器,以查看是否启用了TCP / IP通信。
我会检查防火墙设置 。 SQL Server和客户端之间可能正在发生某种情况。
我将检查来自同一客户端的另一个应用程序是否可以连接到同一服务器。 然后,我将检查连接字符串的差异 。
如果以上所有操作均正常进行,那么我将检查与我尝试连接的帐户在特定SQL Server,特定数据库上的特权 。 允许所有人使用此数据库作为检查它是否是帐户权限问题的第一步。
希望我能帮上忙!
localhost
将始终是您的Java在其上运行的服务器-表示“与同一台计算机对话”。
如果您的数据库托管在其他服务器上,则需要将该服务器名称放入配置中。
请检查以下
单击Sql Server网络配置
单击SQLExpress的协议
双击“ TCP / IP”,然后单击“ IP adrress”选项卡
直到最后看到IP ALL
确保您看到IPALL标头下的TCP端口下配置了端口号1433。
如果未配置,请输入1433端口,然后单击“应用”。
您需要重新启动MS sql服务器并立即尝试,它应该可以工作。
希望这能解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.