sql >> Database >  >> RDS >> Mysql

Kan geen verbinding maken met MySQL - Glassfish en Hibernate

Kijkend naar de volgende regel in de stacktrace

u kunt raden wat het probleem kan zijn. Het eerste probleem is het probleem met de databasedriver, denk ik. 1527 is het standaard poortnummer van de derby-database die bij de Glassfish-toepassingsserver wordt geleverd.

Omdat je geen gegevensbron hebt opgegeven in je configuratie, probeert de server de standaarddatabase te vinden, in dit geval derby; maar u kunt geen verbinding maken met die database omdat u geen verbindingsinformatie voor deze database heeft opgegeven.

U moet dus het volgende doen in uw META-INF/persistence.xml :

  • Geef het transaction-type . op (in uw configuratie wordt aangenomen dat het JTA is omdat u uw toepassing op JEE-omgeving per specificatie implementeert) als

    <persistence-unit name="unit" transaction-type="JTA">
    
  • Geef de jta-data-source element als een kind van persistence-unit

    <persistence-unit name="unit" transaction-type="JTA">
        ...
        <jta-data-source>your_data_source_name</jta-data-source>
        ...
    </persistence-unit>
    

Om de bovenstaande configuratie te laten werken, moet u eerst uw applicatieserver (Glassfish) configureren. Hiervoor moet u het MySQL jdbc-stuurprogramma downloaden, het uitpakken en het jar-bestand kopiëren naar <glassfish_installation_directory>/glassfish/domains/domain1/lib (Ik ga hier uit van Glassfish 3.1). De reden hiervoor is dat Glassfish niet wordt geleverd met MySQL-stuurprogramma, dus u moet dit zelf doen.

Start hierna Glassfish en open de beheerdersconsole (http://localhost:4848 ). Open in het linkerdeelvenster

  1. Resources/JDBC/JDBC Connection Pools en maak een nieuwe verbindingspool
  2. Resources/JDBC/JDBC Resources en maak een nieuwe gegevensbron aan. De naam die u aan uw gegevensbron geeft, is de naam die u moet gebruiken in uw persistence.xml zoals hierboven vermeld.


  1. Waarom optimaliseert MySql de TUSSEN-query niet automatisch?

  2. SQLAlchemy-strategieën voor bulkupdates

  3. psql:FATAL:Peer-authenticatie mislukt voor gebruikersdev

  4. Hoe een identiteitskolom aan tabel toe te voegen door TSQL en GUI in SQL Server - SQL Server / T-SQL-zelfstudie, deel 40