无法从JAVA Azure函数连接到Azure MySQL DB

时间:2018-11-12 09:09:26

标签: java azure azure-functions azure-mysql-database

我正在开发一个简单的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防火墙:没有任何变化。

有什么想法吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

5.1.31 MySQL-connector-java版本对我有用。

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.31</version>
</dependency>

Connecting MySQL Azure with Java