2014-04-10 188 views
0

当我试图连接sql server 2008与jdbc发生异常发生作为研究员 com.microsoft.sqlserver.jdbc.SQLServerException:登录失败的用户'sa'。sqlserverexception用户登录失败

的代码如下所示

import java.sql.*; 

public class myjdbc { 
    public static void main(String[] args) { 
     String sDriverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; 
     String Name = "sa"; 
     String Pswd = "1111"; 
     String aDBUrl = "jdbc:sqlserver://localhost:1433;databaseName=pasdb"; 
     //String bDBUrl = "jdbc:sqlserver://scu-PC\\Barney;databaseName=pasdb;integratedSecurity=true"; 
     try { 
      Class.forName(sDriverName); 
      DriverManager.getConnection(aDBUrl,Name,Pswd); 
      //DriverManager.getConnection(bDBUrl); 
     } catch (ClassNotFoundException e) {    
      e.printStackTrace(); 
     } catch (SQLException ex) {   
      ex.printStackTrace(); 
     }  

    } 
} 

当我使用bDBUrl方法连接SQL,一切顺利;当我使用aDBUrl mehtod时,错误消失。

PS:我可以通过使用SA帐户通过SQL Server Management Studio中

回答

1

随着bDBUrl用户名和密码将被忽略,并集成安全(Windows帐户)用于登录SQL服务器。因此您自己的用户帐户用于登录(并允许登录)。

With aDBUrl您使用sa用户,现在登录失败。可能有以下几种原因:SQL身份验证已完全禁用,没有用户sa,用户sa已禁用,密码为sa不是您指定的密码,或者用户sa无权访问指定的数据库。

另请注意,aDBUrlbDBUrl是不同的,可能不会指向同一台计算机,或者如果scu-PC与您的localhost相同:它们可能是不同的实例。

+0

谢谢你回答我的问题! – user1391810