Я безуспешно пытаюсь подключиться к удаленной базе данных SQL Server из приложения Java.
Я могу успешно подключиться к этому экземпляру SQL Server из клиента SQL для Mac под названием SQLPro для 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();
}
Я использую эту зависимость gradle для драйвера jdbc сервера sql.
группа реализации: «com.microsoft.sqlserver», имя: «mssql-jdbc», версия: «10.2.0.jre11»
Одним из важных моментов является то, что я не на компьютере с Windows, что не должно быть проблемой, как я уже упоминал, я могу подключиться к SQL Server с помощью клиента SQL.
Чтобы подключиться с использованием аутентификации Windows с учетными данными, предоставленными приложением, необходимо настроить соединение для использования NTLM. Текущая строка подключения предназначена для проверки подлинности SQL.