2014-04-10 240 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