连接到 SQL Server Windows 身份验证



我有一个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/。

最新更新