JDBC连接SQL Server访问出错

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

1、问题:

通过用户名sa连接SQL Server数据库报错。

2、报错信息:

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)

3、解决办法

注 意 : 修 改 ‘ S Q L S e r v e r ‘ 配 置 都 需 要 重 启 一 下 ‘ S Q L S e r v e r ‘ 服 务 \color{red}注意:修改`SQL Server`配置都需要重启一下`SQL Server`服务 :SQLServerSQLServer

重启SQL Server服务方法


①、 检 查 用 户 名 、 密 码 是 否 填 写 正 确 \color{red}检查用户名、密码是否填写正确

②、检查是否开启SQL Server、Windows身份验证模式

首先以Windows身份验证方式登录SQL Server

选中数据库右击,选择属性

勾选SQL ServerWindows身份验证模式。

修 改 后 需 要 重 启 一 下 S Q L S e r v e r 服 务 , 方 法 见 前 面 介 绍 。 \color{red}修改后需要重启一下SQL Server服务,方法见前面介绍。 SQLServer

③、检查是否开启SQL Server Browser服务

打开服务

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

1、问题:

TCP/IP 1433端口连接失败

2、报错信息

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)

3、解决方法

①、检查SQL Server 配置的是否为1433端口、以及TCP/IP协议是否启动

在启动菜单中知道SQL Server配置管理器



修 改 后 需 要 重 启 一 下 S Q L S e r v e r 服 务 , 方 法 见 前 面 介 绍 。 \color{red}修改后需要重启一下SQL Server服务,方法见前面介绍。 SQLServer

检查了一下午,翻了百度几次。。。很多博客说是防火墙的问题,经过测试,连接本地的SQL Server与端口的防火墙没有关系,连接远程的SQL Server才需要设置防火墙。

如果你看到这都还不 点 个 赞 、 评 论 一 下 , 祝 你 检 查 上 面 的 配 置 也 解 决 不 了 问 题 ! \color{red}点个赞、评论一下,祝你检查上面的配置也解决不了问题!

更多推荐

SQL Server报错com.microsoft.sqlserver.jdbc.SQLServerException:用户'sa'登录失败