sql >> Database >  >> RDS >> Mysql

Kon JPA EntityManager niet openen voor transactie; geneste uitzondering is javax.persistence.PersistenceException

Er is CommunicationsException:communicatieverbinding mislukt.

Als u een SQLException krijgt:verbinding geweigerd of verbinding verbroken of een MySQL-specifieke

CommunicationsException: Communications link failure

dan betekent dit dat de DB helemaal niet bereikbaar is. Dit kan een of meer van de volgende oorzaken hebben:

  • IP-adres of hostnaam in JDBC-URL is verkeerd.
  • Hostnaam in JDBC-URL wordt niet herkend door lokale DNS-server.
  • Poortnummer ontbreekt of is verkeerd in JDBC-URL.
  • DB-server is uitgevallen.
  • DB-server accepteert geen TCP/IP-verbindingen.
  • DB-server heeft geen verbindingen meer.
  • Iets tussen Java en DB blokkeert verbindingen, b.v. een firewall of proxy.

Volg de volgende adviezen om het een of het ander op te lossen:

  • Verifieer en test ze met ping.
  • Vernieuw DNS of gebruik in plaats daarvan het IP-adres in de JDBC-URL.
  • Verifieer het op basis van my.cnf van MySQL DB.
  • Start de database.
  • Controleer of mysqld is gestart zonder de optie --skip-networking.
  • Start de database opnieuw op en corrigeer uw code dienovereenkomstig zodat de verbindingen definitief worden gesloten.
  • Schakel firewall uit en/of configureer firewall/proxy om de poort toe te staan/door te sturen.

Bron:Meer details



  1. Maximale SQLite-databasegrootte in Android-applicatie

  2. Oracle SQL-query om alle datums van de vorige maand weer te geven

  3. Hoe cascade te verwijderen wanneer parentID en childID in dezelfde tabel staan?

  4. Hoe SQL-query naar TXT te exporteren met behulp van de opdrachtregel