SQL Server报错

JDBC连接SQL Server访问出错

报错一:com.microsoft.sqlserver.jdbc.SQLServerException: 用户 ‘sa’ 登录失败

报错二:com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。

这一切都是因为昨天JAVA大作业通数据库出现一系列问题进行有了现在的这一篇博客

这两个问题昨天同时出现了,解决了端口连接失败的问题又出现了用户'sa'登录失败,最后通过一系列的努力终于得到了解决,希望可以帮到和我遇到一样错误的小伙伴

以下是'sa'登录失败的报错代码:

 com.microsoft.sqlserver.jdbc.SQLServerException: 用户 'sa' 登录失败。 ClientConnectionId:c21ee6ce-53fa-4e75-af98-04460287ad7f
     at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:217)
     at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:279)
     at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:99)
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:4346)
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3160)
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(SQLServerConnection.java:43)
     at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3123)
     at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7505)
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2445)
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1981)
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628)
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459)
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773)
     at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168)
     at java.sql.DriverManager.getConnection(DriverManager.java:664)
     at java.sql.DriverManager.getConnection(DriverManager.java:247)
     at cn.hestyle.test.Test01.<clinit>(Test01.java:21)
 Exception in thread "main" java.lang.NullPointerException
     at cn.hestyle.test.Test01.main(Test01.java:30)

 

以下是1433端口连接失败的报错代码:

 com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
     at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:191)
     at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:242)
     at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2369)
     at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:551)
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1963)
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628)
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459)
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773)
     at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168)
     at java.sql.DriverManager.getConnection(DriverManager.java:664)
     at java.sql.DriverManager.getConnection(DriverManager.java:247)
     at cn.hestyle.test.Test01.<clinit>(Test01.java:21)
 Exception in thread "main" java.lang.NullPointerException
     at cn.hestyle.test.Test01.main(Test01.java:30)

修改方法如下

 

打开服务后找到SQL SERVER的一系列、这里面能启动的都给它启动了(右键启动)

 

然后找到SQL SERVER 2017配置管理器,打开

 

打开SQL Server服务,检查如下内容的状态,将能够启动的均启动

 

在网络配置找到如下两个协议

 

先点开SQLEXPRESS协议,检查TCP/IP协议是否启用,如没有启用,右键启用

 

双击打开TCP/IP协议属性,确保协议如下状态

 

如若大家出现此类问题,那么TCP端口处应该是空白,需要手动填入1433

 

不过这样应该还会出现我们的报错一,因为我最开始是在解决报错二,二解决了又出现了错误一,这样可能是1433端口被其他应用程序占用,可以将最后一处端口改为1435

 

同理也需要检查MSSQLSERVER协议里面的TCP/IP协议是否启用

 

同时打开我们的SQL Server 2017,登录方式选中Windows身份验证

 

核实我们的账号密码是否正确

打开此处属性检查安全性身份验证和登录审核是否如下图

 

最后进行所有的修改之后打开服务,确保能启动的均已启动,同时重启一系列SQL Server服务

 

 

希望能帮到大家。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>