连接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)

解决方案 »

  1.   

    检查一下sa能否登录
    http://msdn.microsoft.com/en-us/library/ms188670.aspx
      

  2.   

    首先在后台确认sa能不能登入,第二确认下载的SQL JDBC的jar包是不是最新的。第三从SQL2005后加了动态端口号,连接端口号不一定就是1433.
      

  3.   

    对了,我发现我出这个问题是因为Jar包不是SQL2008的,而是sql2005的jar包...所以建议一下楼主看看JDBC 的SQL jar包是否匹配当前数据库!
      

  4.   

    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
      

  5.   

    lz你是2008的数据库怎么用2005的jar包呢~  去下载个2008的jar包
    driver:net.sourceforge.jtds.jdbc.Driver
    url:jdbc:jtds:sqlserver://localhost:1433/数据库名
      

  6.   

    sql server外围应用配置器那里的左下角的服务和连接的外围应用配置器那里看看是否正确连接
      

  7.   

    我连接过Sql server 2005 出现过这种情况,已经解决,不知道方法对你有没有用:
    打开 sql server management studio 在左边的部分中数据库下方有个安全性,打开,里面有登录名一项,再打开,看到有sa一项,单击右键属性,可以对sa的用户登录来设置。设置好后,要重新开启server服务。