Mysql
 sql >> база данни >  >> RDS >> Mysql

Не можа да се отвори JPA EntityManager за транзакция; вложеното изключение е javax.persistence.PersistenceException

Има изключение на CommunicationsException:повреда на комуникационната връзка.

Ако получите SQLException:връзката е отказана или връзката е изтекла или специфично за MySQL

CommunicationsException: Communications link failure

тогава това означава, че DB изобщо не е достъпен. Това може да има една или повече от следните причини:

  • IP адресът или името на хоста в URL адреса на JDBC е грешен.
  • Името на хост в JDBC URL не се разпознава от локалния DNS сървър.
  • Номерът на порта липсва или е грешен в URL адреса на JDBC.
  • DB сървърът не работи.
  • DB сървърът не приема TCP/IP връзки.
  • Сървърът на DB е изтекъл връзките.
  • Нещо между Java и DB блокира връзките, напр. защитна стена или прокси.

За да разрешите едното или другото, следвайте следните съвети:

  • Проверете и тествайте ги с ping.
  • Опреснете DNS или вместо това използвайте IP адрес в JDBC URL.
  • Проверете го въз основа на my.cnf на MySQL DB.
  • Стартирайте DB.
  • Проверете дали mysqld се стартира без опцията --skip-networking.
  • Рестартирайте DB и коригирайте кода си съответно, така че да затваря връзките най-накрая.
  • Деактивирайте защитната стена и/или конфигурирайте защитната стена/прокси сървъра, за да разрешите/препратите порта.

Източник:Още подробности



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. каква е разликата между '!=' и '<>' в mysql

  2. Бройте медианата, групирана по ден

  3. Грешка при неправилна стойност на низа в MySQL при запазване на Unicode низ в Django

  4. Редактиране на MySQL прекодиране с помощта на HTML формуляр

  5. Изпълнете скрипт с EntityManager JPA на Mysql