Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从JAVA Azure函数连接到Azure MySQL数据库_Java_Azure_Azure Functions_Azure Mysql Database - Fatal编程技术网

无法从JAVA Azure函数连接到Azure MySQL数据库

无法从JAVA Azure函数连接到Azure MySQL数据库,java,azure,azure-functions,azure-mysql-database,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 rec

我正在开发一个简单的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>

mysql
mysql连接器java
8.0.13
注:

  • 该程序在我的本地机器上运行良好(即,将我的IP地址添加到MySQL防火墙后,我可以从我的机器访问DB)

  • 我已经尝试过不同的mysql库:没有任何变化

  • 用NodeJS实现的另一个Azure功能能够到达DB

  • 我尝试将“附加出站IP地址”功能添加到MySQL防火墙:没有任何变化

有什么想法吗


提前谢谢。

5.1.31 MySQL connector java版本适合我

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

mysql

您是否尝试了同一连接器软件包的不同版本?看起来它在azure mysql上有过类似的连接问题。谢谢。我已经尝试了不同的软件包版本,但错误仍然存在。关键是相同的JAVA代码在我的本地机器上运行良好(即,我可以连接到远程Azure DB)。这似乎与特定的Azure/网络配置有关。更新:我开发了一个简单的C#Azure函数,它运行良好。这似乎是一个与基于JAVA的Azure函数env严格相关的问题。您找到解决此问题的方法了吗?我联系了MS支持部门,但遗憾的是,他们没有提供任何解决方案。他们告诉我JAVA仍在预览中,所以他们关闭了罚单。这个问题很奇怪。我尝试了许多不同的配置/jdbc库,但没有任何改变。奇怪的是,当我在本地机器上运行相同的代码时,我可以访问Azure MySQL DB。这对我不起作用:(我尝试重新创建应用程序,但没有任何更改。我的DB的SSL状态为:ENABLED。可能与SSL连接有关?我的Url:jdbc:mysql://xxxxxxx:3306/{mydb}?服务器时区={zone}&trustServerCertificate=true&encrypt=true&hostNameInCertificate=*.database.windows.net感谢您共享您的连接字符串。以下是我所做的:我尝试了您的建议并获得了以下错误
jdbc:mysql://xxx.mysql.database.azure.com:3306/xxx?serverTimezone=UTC&trustServerCertificate=true&encrypt=true&hostNameInCertificate=*.database.windows.net错误:java.sql.SQLException:需要SSL连接。请指定SSL选项,然后重试。
。上一个问题可能是由于SSL设置造成的,因此我以这种方式更改了字符串:
jdbc:mysql://xxx.mysql.database.azure.com:3306/xxx?useSSL=true&serverTimezone=UTC&trustServerCertificate=true&encrypt=true&hostNameInCertificate=*.database.windows.net错误:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure
您可以共享java项目吗?当然,我不是问您完整的代码;-)而是它的“简化”版本,在这里我可以看到用于DB连接的maven setup anche代码?非常感谢。