Произошло что-то очень странное, я делаю веб-приложение на Java с движком приложений и SQL-сервером, используя службы отдыха, все работает нормально, но только один раз, то есть у меня есть конечная точка, которая подключается к базе данных и запускается Процедура сохранения, когда я подключаюсь к конечной точке в первый раз, она работает правильно, но когда я делаю это во второй раз, она выдает мне следующую ошибку:
Тайм-аут соединения: дополнительная информация отсутствует. Проверьте свойства соединения. Убедитесь, что экземпляр SQL Server запущен на хосте и принимает соединения TCP / IP через порт. Убедитесь, что соединения TCP с портом не заблокированы брандмауэром.
Это очень странно, потому что у меня есть другие приложения, которые подключаются к той же базе данных, которые также используют движок приложений, которые используют тот же драйвер SQL и не имеют проблем. Я не могу видеть, что отличается в этом.
Код:
@Override
public void register() throws DatabaseException {
try (Connection connection = DriverManager.getConnection("jdbc:sqlserver://xx.xxx.xxx.xx;databaseName=mydatabase", Config.USER, Config.PASSWORD);
PreparedStatement preparedStatement
= connection.prepareStatement("execute store_procedure")) {
preparedStatement.executeQuery();
} catch (SQLException e) {
Logger.getGlobal().log(Level.SEVERE, e.getMessage());
throw new DatabaseException();
}
}
Pom:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.2.0.jre8</version>
</dependency>