試圖使用JDBC連接到SQL Server 2012(速成版)。使用jTDs連接到SQL Server 2012
這裏是我的代碼:
import java.sql.*;
public class MSSqlTestConnection {
public static void main(String[] args) {
try {
Connection con = DriverManager.getConnection (
"jdbc:jtds:sqlserver://localhost;instance=LOCALDB#B431115D;DatabaseName=foo","sa","my_password"
);
Statement stmt = con.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
我已經試過各種可能的組合使用。以下是完整的堆棧跟蹤:
java.sql.SQLException: Login failed for user 'sa'.
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2988)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2421)
at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:632)
at net.sourceforge.jtds.jdbc.JtdsConnection.<init>(JtdsConnection.java:371)
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 MSSqlTestConnection.main(MSSqlTestConnection.java:10)
管道和TCP/IP啓用
當我登錄使用的「sa」
混合身份驗證模式下啓用
正常工作與管理工作室我幾乎試過一切。我似乎找不到解決辦法。我試着改變instance = SQLExpress。刪除實例屬性。添加用戶名和密碼屬性。添加數據庫名稱屬性。什麼都沒有
任何幫助,將不勝感激。
SOLUTION:
我重新安裝了SQL Server 2012的最後一到工作的連接字符串。原來,Microsoft SQL Server 2012已經更改了默認實例的名稱。它現在是MSSQLSERVER而不是SQLExpress。你可以選擇你自己的實例即默認或指定在設置SQL Server 2012的
Connection Connect = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433;instance=MSSQLSERVER;DatabaseName=Database_name",user,password);
也不要忘了使用混合身份驗證模式,同時設置SQL服務器。
混合身份驗證模式......讓我想知道一小時出了什麼問題:(好的提示! – Dan
嗨,我可以知道你使用的是什麼版本的jtds嗎? – AuroraBlaze
,你有沒有得到這個錯誤信息?錯誤:發生異常! - JVM不支持字符集0x0904000128/Cp850。 – AuroraBlaze