【J2EE】Java连接SQL Server 2000问题:“com.microsoft.sqlserver.jdbc.SQLServerException:用户'sa'登录失败。该用户与可信SQL Server连接无关联”

1、问题现象

E:\JSP\HibernateDemo\HibernateDemoProject\src\sine>java ConnectSQLServer
Connect failed!
com.microsoft.sqlserver.jdbc.SQLServerException: 用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:246)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:83)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2529)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:1905)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:1893)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1045)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:700)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:842)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at ConnectSQLServer.main(ConnectSQLServer.java:15)

2、解决方法

 假如你的电脑里面安装了Visual Studio2005或者更高版本,那么这里会自动安装SQL Server2005或者更高版本的数据库的一部分文件,这里会启动两种服务:SQL Server(SQLEXPERSS)SQL Server Brower,为了避免干扰程序连接SQL Server2000,需要先在服务中关闭这两种服务。

其次Java通过JDBC连接SQL Server2000数据库如果需要正常监听1433端口的话,必须要安装SQL Server2000 SP3或者SP4的补丁。

这里是安装SP4的补丁,另外补充一下,在安装SP4的补丁的时候,需要关闭所有与SQL Server有关的服务进程(除了SQL Server的主进程之外C:\PROGRA~1\MI6841~1\MSSQL$~2\binn\sqlservr.exe -sWD_SQLSERVER2000),否则会出现安装错误。

如果出现问题,具体排查可以参见:下面的参考文章

参考文章:

http://www.cnblogs.com/mabaishui/archive/2010/12/29/1919286.html

http://www.cnblogs.com/wintergrass/p/3872867.html

SP4补丁安装成功后,可以使用SQL查询到版本信息:

select @@version

查询结果如下

Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Personal Edition on Windows NT 5.1 (Build 2600: Service Pack 3)

在控制台上执行:telnet localhost 1433 可以连接成功,此时数据连接也正常了。

posted on 2014-07-28 13:40  COS  阅读(1170)  评论(0编辑  收藏  举报