Sql-Server

java.sql.SQLException:使用者“sa”登錄失敗

  • June 20, 2014

我無法通過 jTDS 連接連接到我的 Microsoft SQL Server 數據庫:

Connection conn = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433
   /MnA;instance=SQLEXPRESS", "sa","");

SQL Server 已啟用,TCP/IP 已啟用,混合伺服器身份驗證已啟用。

有任何想法嗎?

java.sql.SQLException: Login failed for user 'sa'.
   at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
   at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2820)
   at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2258)
   at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:603)
   at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:345)
   at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
   at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at DB.dbConnect(testConnection.java:17)
   at testConnection.main(testConnection.java:7)

您正在嘗試輸入一個空白密碼。很可能是 sa 帳戶有密碼。

您應該創建一個單獨的帳戶供應用程序使用,而不是使用 sa 帳戶。使用 sa 帳戶是一個主要的安全問題。

您使用的是空白密碼。

  1. 使用sqljdbc4 jar文件
  2. 在連接字元串之前添加:
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  3. 將此連接字元串用於您的 jdbc 連接:

Connection connection = DriverManager.getConnection("jdbc:sqlserver://localhost:1433\\SQLEXPRESS;databaseName=xxx","sa","pass");

引用自:https://dba.stackexchange.com/questions/22494