我正在开发一个简单的JAVA时间触发的Azure函数。
我正在尝试连接到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库:没有任何变化;
使用NodeJS实现的另一个Azure功能能够到达数据库;
我试图将功能“ ADDITIONAL OUTBOUND IP ADDRESSES”添加到MySQL防火墙:没有任何变化。
有什么想法吗?
谢谢。
答案 0 :(得分:0)
5.1.31 MySQL-connector-java版本对我有用。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.31</version>
</dependency>