我试图从Java应用程序连接远程Server,但没有成功。
我能够成功地从名为SQLPro for MSSQL的Mac的SQLPro连接到Server实例

但是,如果我试图使用相同的凭据从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’,版本:'10.2.0.jre11‘
重要的一点是,我不在Windows机器上,这不应该是一个问题,正如我前面提到的,我能够使用SQL客户端连接到Server。
发布于 2022-03-29 22:57:58
若要使用Windows与应用程序提供的凭据连接,必须使用将连接配置为使用NTLM。当前连接字符串用于SQL。
https://stackoverflow.com/questions/71669564
复制相似问题