com.microsoft.sqlserver.jdbc.SQLServerException: 用户 'sa' 登录失败。该用户与可信 SQL Server

熊哥club 2011-04-08 02:50:50
连接sql2008时出现如下错误。网上找到很多解决办法都试过但是还是无法解决,求指教


//测试类代码
import java.sql.*;

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 加载JDBC驱动
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=libraryManagerDB"; // 连接服务器和数据库
String userName = "sa"; // 默认用户名
String userPwd = "123456"; // 密码
Connection dbConn;

try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!"); // 如果连接成功
// 控制台输出Connection
// Successful!
} catch (Exception e) {
e.printStackTrace();
}

}

}


////控制台出现如下错误!
com.microsoft.sqlserver.jdbc.SQLServerException: 用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:196)
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:2532)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:1929)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:1917)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1061)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:716)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at common.Test.main(Test.java:20)



...全文
2124 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxflaixi 2011-05-21
  • 打赏
  • 举报
回复
我连接过Sql server 2005 出现过这种情况,已经解决,不知道方法对你有没有用:
打开 sql server management studio 在左边的部分中数据库下方有个安全性,打开,里面有登录名一项,再打开,看到有sa一项,单击右键属性,可以对sa的用户登录来设置。设置好后,要重新开启server服务。
liangbiqiang 2011-04-17
  • 打赏
  • 举报
回复
sql server外围应用配置器那里的左下角的服务和连接的外围应用配置器那里看看是否正确连接
limpletk 2011-04-17
  • 打赏
  • 举报
回复
lz你是2008的数据库怎么用2005的jar包呢~ 去下载个2008的jar包
driver:net.sourceforge.jtds.jdbc.Driver
url:jdbc:jtds:sqlserver://localhost:1433/数据库名
O溺水的鱼0 2011-04-17
  • 打赏
  • 举报
回复
1.直接用sql 分析器登录下数据库看看,sa能不能正确登录
2.这个错误不像是数据库没有开启tcp/ip,如果数据库没有开启TCP/IP的话,会报network IO Eception。
3.sql 2005 和sql2008配置基本差不多,可以参考下我调试2008数据库的错误。链接如下:
http://blog.csdn.net/wgw335363240/archive/2011/04/09/6311566.aspx
ZivDo 2011-04-16
  • 打赏
  • 举报
回复
对了,我发现我出这个问题是因为Jar包不是SQL2008的,而是sql2005的jar包...所以建议一下楼主看看JDBC 的SQL jar包是否匹配当前数据库!
Andrew_Mi 2011-04-13
  • 打赏
  • 举报
回复
首先在后台确认sa能不能登入,第二确认下载的SQL JDBC的jar包是不是最新的。第三从SQL2005后加了动态端口号,连接端口号不一定就是1433.
ZivDo 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 nanman 的回复:]

sqlserver2008不允许tcp/ip连接
[/Quote]
那如何解决这个问题呢?
  • 打赏
  • 举报
回复
sqlserver2008不允许tcp/ip连接
masterz 2011-04-08
  • 打赏
  • 举报
回复
检查一下sa能否登录
http://msdn.microsoft.com/en-us/library/ms188670.aspx

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧