Java 到 SQL 服务器使用 Windows 身份验证
Java to SQL Server using Windows Authentication
我正在尝试从 Java 应用程序连接到远程 SQL 服务器数据库,但没有成功。
我能够从 SQL 的 SQL 客户端成功连接到那个 SQL 服务器实例 Mac 称为 SQLPro for MSSQL
但是,如果我尝试使用相同的凭据从 Java 应用程序进行连接,我总是会收到登录失败错误,这是我正在使用的代码片段:
String connectionUrl =
"jdbc:sqlserver://some-host:1433;"
+ "database=DBName;"
+ "user=GLOBAL\user;"
+ "password=somepassword;"
+ "encrypt=true;"
+ "trustServerCertificate=true;"
+ "loginTimeout=30;";
ResultSet resultSet = null;
try (Connection connection = DriverManager.getConnection(connectionUrl);
Statement statement = connection.createStatement();) {
// Create and execute a SELECT SQL statement.
String selectSql = "select * from R2.LABEL_MASTER";
resultSet = statement.executeQuery(selectSql);
// Print results from select statement
while (resultSet.next()) {
System.out.println(resultSet.getString(2) + " " + resultSet.getString(3));
}
}
catch (SQLException e) {
e.printStackTrace();
}
我正在为 sql 服务器 jdbc 驱动程序
使用此 gradle 依赖项
实现组:'com.microsoft.sqlserver',名称:'mssql-jdbc',版本:'10.2.0.jre11'
重要的一点是我不在 Windows 机器上,这应该不是问题,正如我提到的,我可以使用 [=] 连接到 SQL 服务器35=]客户。
要使用 Windows Auth 和 app-provided 凭据进行连接,您必须 configure the connection to use NTLM。当前连接字符串用于 SQL Auth.
我正在尝试从 Java 应用程序连接到远程 SQL 服务器数据库,但没有成功。
我能够从 SQL 的 SQL 客户端成功连接到那个 SQL 服务器实例 Mac 称为 SQLPro for MSSQL
但是,如果我尝试使用相同的凭据从 Java 应用程序进行连接,我总是会收到登录失败错误,这是我正在使用的代码片段:
String connectionUrl =
"jdbc:sqlserver://some-host:1433;"
+ "database=DBName;"
+ "user=GLOBAL\user;"
+ "password=somepassword;"
+ "encrypt=true;"
+ "trustServerCertificate=true;"
+ "loginTimeout=30;";
ResultSet resultSet = null;
try (Connection connection = DriverManager.getConnection(connectionUrl);
Statement statement = connection.createStatement();) {
// Create and execute a SELECT SQL statement.
String selectSql = "select * from R2.LABEL_MASTER";
resultSet = statement.executeQuery(selectSql);
// Print results from select statement
while (resultSet.next()) {
System.out.println(resultSet.getString(2) + " " + resultSet.getString(3));
}
}
catch (SQLException e) {
e.printStackTrace();
}
我正在为 sql 服务器 jdbc 驱动程序
使用此 gradle 依赖项实现组:'com.microsoft.sqlserver',名称:'mssql-jdbc',版本:'10.2.0.jre11'
重要的一点是我不在 Windows 机器上,这应该不是问题,正如我提到的,我可以使用 [=] 连接到 SQL 服务器35=]客户。
要使用 Windows Auth 和 app-provided 凭据进行连接,您必须 configure the connection to use NTLM。当前连接字符串用于 SQL Auth.