身份验证失败的Sql Server JDBC Java 8
我正在尝试连接到名为“Shipworks1”的Sql Server数据库。SQL Server的此安装是由名为Shipworks的装运软件安装的。由于某种原因,我无法使身份验证生效。这是我的密码:身份验证失败的Sql Server JDBC Java 8,java,sql-server,jdbc,Java,Sql Server,Jdbc,我正在尝试连接到名为“Shipworks1”的Sql Server数据库。SQL Server的此安装是由名为Shipworks的装运软件安装的。由于某种原因,我无法使身份验证生效。这是我的密码: /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and ope
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package daily.sales.report;
/**
*
* @author Line Computer
*/
import java.sql.*;
public class DailySalesReport {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Connection con = null;
String conUrl = "jdbc:sqlserver://LINECOMPUTER\\SHIPWORKS; databaseName=ShipWorks1; user=sa; password=XXXXXXXXXXXXXXX;";
try {
// ...
con = DriverManager.getConnection(conUrl);
// ...
} catch (Exception e) { e.printStackTrace(); }
finally {
if (con != null) try { con.close(); } catch(Exception e) {}
}
}
}
我的错误是:
com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'sa'. ClientConnectionId:916f2fe6-49c3-475f-bb09-f2ff14cd92c9
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:217)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:279)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:99)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:4346)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3160)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(SQLServerConnection.java:43)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3123)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7505)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2445)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1981)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at daily.sales.report.DailySalesReport.main(DailySalesReport.java:27)
BUILD SUCCESSFUL (total time: 0 seconds)
我可以在我的数据库管理器中连接到数据库,如下所示:
任何帮助都将不胜感激。谢谢 您应该决定要使用哪种类型的身份验证:Windows身份验证还是SQL身份验证 也许它对你有用:
String userName ="username";
String password ="password";
String url ="jdbc:sqlserver://myDB\\SQLServer;databaseName=name";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url, userName, password);
另外,看看这个-您是否尝试在没有空格的情况下传递conUrl?:)