eclipse连接数据库时:“用户XX 登录失败”

首先,你要确定自己的语句没有写错,数据库名、账户名、密码写错的大有人在。
其次,一般来说驱动加载是基本没有问题的,出问题的大部分都在下面这一句:
"Conn=DriverManager.getConnection(dbURL,userName,userPwd);"

抛出的异常为:

com.microsoft.sqlserver.jdbc.SQLServerException: 用户 'sa' 登录失败。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:254)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:84)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2908)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2234)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2220)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)  ……
之前出过几次类似的问题,在网上找到了问题所在,忘记了是看了哪个大神的最关键的一句话,先在此谢过。近期又重装了系统,运行出现了错误,解决后帮助一下有困扰的老铁们。有些刚开始学JDBC的,连接时看到这个问题立马就丧失了动力,但不要急,解决方法还是有的。



解决方法:


1、设置端口号。通过sql server 配置管理器配置1433端口,在SQL Server网络配置下找到“MSSQLSERVER的协议
”在右侧列表中双击“TCP/IP协议”,找到IP是“127.0.0.1”的一项,活动改为“是”,已启用改为“是”。其他项目下的ICP/IP也建议要启用。重启服务,一般就可以了。


2、如果还不行,导致出现这个问题的原因是因为的电脑上同时存在MSSQLSERVER和SQLEXPRESS(SQLEXPRESS的存在往往是由于在安装Microsoft Visual Studio时安装上去的)。那你就应该启动SQLEXPRESS的“TCP/IP协议”的1433端口(设置方法和步骤1的一样),而不是MSSQLSERVER的1433端口,当然,两个都启动也可以。如果MSSQLSERVER和SQLEXPRESS的1433端口同时打开,意味着电脑里的sqlserver数据库接受其它电脑的访问,而防火墙是不允许的,所以防火墙会自动关闭MSSQLSERVER服务。这时基本就可以了



如果还不行,继续找方法,网上总能找到办法,不要急躁,说不定,下一步就成功了


你可能感兴趣的:(Eclipse)