sql >> Databáze >  >> RDS >> Mysql

Azure – oprávnění odepřeno při pokusu o připojení k externí databázi MySQL

Unavilo mě reprodukovat váš problém, ale nepodařilo se mi to.

Zde jsem se pokusil vytvořit java spring-boot projektu pro testování připojení s Azure MySQL Database .

Úryvek mého kódu:

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

Můj soubor web.config:

<?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>

Pokud se nemůžete připojit ke své databázi, můžete zkontrolovat níže uvedené body:

1. Nenechte si ujít nastavené parametry SSL.

2. Nastavte bílou IP address vaší azurové webové aplikace.

3. Nenechte si ujít -Djava.net.preferIPv4Stack=true nastavení ve vašem web.config .

Další podrobnosti můžete najít v tomto vláknu:JavaMail API to iMail -- java.net.SocketException:Oprávnění odepřeno:připojit

Doufám, že vám to pomůže.



  1. Připojte se k více databázím v CakePHP 3

  2. Co je ekvivalentem tabulky Oracle Dual v MS SqlServer?

  3. 5 bezproblémových tipů pro použití příkazu SQL UPDATE s JOIN

  4. Jak automaticky spravovat převzetí služeb při selhání databáze MySQL pro Moodle