Tôi mệt mỏi để tái tạo vấn đề của bạn nhưng không thành công.
Ở đây, tôi đã cố tạo một java spring-boot
dự án kiểm tra kết nối với Azure MySQL Database
.
Đoạn mã của tôi:
private static String hostName = "<your host name>";
private static String dbName = "sys";
private static String user = "<user name>";
private static String password = "password";
private static String portNumber = "3306";
@RequestMapping("/hello")
public String index() throws SQLException {
Connection conn = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
try {
String url = "jdbc:mysql://"+hostName+":"+portNumber+"/"+dbName+"?verifyServerCertificate=true&useSSL=true&requireSSL=false&serverTimezone=UTC";
conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
System.out.println("error!!!!");
System.out.println(e.getMessage());
e.printStackTrace();
return e.getMessage();
}
return conn.getCatalog();
}
Tệp web.config của tôi:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>
<httpPlatform processPath="%JAVA_HOME%\bin\java.exe"
arguments="-Djava.net.preferIPv4Stack=true -Dserver.port=%HTTP_PLATFORM_PORT% -jar "%HOME%\site\wwwroot\demo-0.0.1-SNAPSHOT.jar"">
</httpPlatform>
</system.webServer>
</configuration>
Bạn có thể kiểm tra các điểm như bên dưới nếu bạn không thể kết nối với cơ sở dữ liệu của mình:
1.Đừng bỏ lỡ thiết lập các tham số SSL.
2.Vui lòng đặt địa chỉ IP IP address
của ứng dụng web màu xanh của bạn.
3. Đừng bỏ lỡ -Djava.net.preferIPv4Stack=true
cài đặt trong web.config
của bạn .
Bạn có thể tìm thêm chi tiết từ chủ đề này: JavaMail API tới iMail - java.net.SocketException:Quyền bị từ chối:kết nối
Hy vọng nó sẽ giúp bạn.