sql >> Database teknologi >  >> RDS >> Mysql

Azure - tilladelse nægtet ved forsøg på at oprette forbindelse til ekstern MySQL-database

Jeg var træt af at gengive dit problem, men det lykkedes ikke.

Her prøvede jeg at oprette en java spring-boot projekt for at teste forbindelse med Azure MySQL Database .

Uddrag af min kode:

    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();
    }

Min web.config-fil:

<?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 &quot;%HOME%\site\wwwroot\demo-0.0.1-SNAPSHOT.jar&quot;">
    </httpPlatform>
  </system.webServer>
</configuration>

Du kan kontrollere punkter som nedenfor, hvis du ikke kan oprette forbindelse til din database:

1. Gå ikke glip af indstillede SSL-parametre.

2. Indstil den hvide IP address af din azurblå webapp.

3. Gå ikke glip af -Djava.net.preferIPv4Stack=true indstilling i din web.config .

Du kan finde flere detaljer fra denne tråd:JavaMail API til iMail -- java.net.SocketException:Tilladelse nægtet:opret forbindelse

Håber det hjælper dig.



  1. SQL Server 2016 Temporal Table Query Plan Behavior

  2. få et antal unikke værdier uden at adskille værdier, der hører til den samme blok af værdier

  3. ExecuteBatch-metoden returnerer array med værdi -2 i java

  4. Brug af SQL nøgleord i titlen på tabellen eller kolonnen