我有一个sql服务器实例,
我可以连接sql自动
public static void main(String[] args) {
Connection conn = null;
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://localhost:1434;databasename=Test;";
String userName = "sa";
String password = "paquito";
Statement stmt;
try{
Class.forName(driver);//.newInstance();
conn = DriverManager.getConnection(url,userName,password);
stmt = conn.createStatement();
System.out.println("conectado = ");
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
但使用视窗身份验证
public static void main(String[] args) {
Connection conn = null;
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://localhost:1434;databasename=Test;integratedSecurity=true";
String userName = "paco";
String password = "";
Statement stmt;
try{
Class.forName(driver);//.newInstance();
conn = DriverManager.getConnection(url,userName,password);
stmt = conn.createStatement();
System.out.println("conectado = ");
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
我接受这个错误:
com.microsoft.sqlserver.jdbc.SQLServerException: Unable to open the "Test" database requested by the login. Login failed. Client connection ID: 577da72f-f0d4-4ac6-abab-243f0f84d0e3
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)
注意:在SQL管理中,我可以连接SQL身份验证和Windows身份验证
建议?
是否可以在
连接字符串中将集成安全性替换为集成安全性并尝试此操作?
不要指定用户名,它将从当前用户那里获取此用户名。
有关更多详细信息,请参阅 https://www.connectionstrings.com/sql-server/。