Я занимаюсь разработкой простой функции Azure, запускаемой по времени JAVA.
Я пытаюсь подключиться к экземпляру Azure MySQL, но получаю эту ошибку:
[Information] com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
Вот исходный код:
String url="jdbc:mysql://XXXX.mysql.database.azure.com:3306/DBNAME?useSSL=true&requireSSL=false";
connect = DriverManager.getConnection(url, "user@DBNAME", "passwd");
statement = connect.createStatement();
resultSet statement.executeQuery("select * from table1");
Я использую следующую библиотеку:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
Примечания:
Программа отлично работает на моем локальном компьютере (т.е. после добавления моего IP-адреса в брандмауэр MySQL я могу получить доступ к БД с моего компьютера);
Я уже пробовал разные библиотеки mysql: ничего не меняется;
Другая функция Azure, реализованная с NodeJS, может обращаться к БД;
Я попытался добавить функцию «ДОПОЛНИТЕЛЬНЫЕ ВНЕШНИЕ IP-АДРЕСА» в брандмауэр MySQL: ничего не изменилось.
Есть идеи?
Заранее спасибо.