JPA Zugriff auf (externe) Datenbank auf dem Server

G

g4da

Gast
Hallo,

ich bin dabei mein Projekt auf meinen Tomcat-Server zu deloyen!
Es funktioniert alles, nur der Zugriff auf die Datenbank nicht.

Nutze JPA mit EclipseLink.

meine persistence.xml:

<property name="eclipselink.jdbc.batch-writing" value="JDBC" />
<property name="eclipselink.jdbc.native-sql" value="false" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/erol" />
<property name="javax.persistence.jdbc.user" value="g4da" />
<property name="javax.persistence.jdbc.password" value="****" />
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="eclipselink.logging.level" value="FINE" />
<property name="eclipselink.ddl-generation" value="drop-and-create-tables" />


Ich habe auf meinem MySQL DB-Server eine Db die "erol" heißt.
Ich nutze Plesk und CentOS auf meinem Server im Internet.

Bisher habe ich unternommen:

1.Alternativ zu localhost habe ich schon alle Ip's und domains probiert.
2.Ich habe dem User g4da schon alle "Zugriff von jedem Host" gewährt.

Dazu noch diverse Sachen gelesen und ausgetestet, aber irgendwie scheint mir das Problem sehr speziell zu sein..

Was muss ich noch tun, damit der Zugriff funktioniert? Eigentlich ist es ja auch kein externer Zugriff da die Anwendung bzw. der Server und die DB beide auf dem localhost laufen?!


Ich bin dankbar um jeden Tipp,

Gruß

g4da
 
G

g4da

Gast
Wie lautet denn die Fehlermeldung?
P.S. Kannst du dich denn außerhalb von Java zu der DB verbinden?

Nein, ich habs mit der MySQL Workbench probiert. Hatte hier gefragt, weil ich immernoch der Meinung bin, das es sich um einen localhost handelt. Bzw. ob es sich um ein JPA Problem handelt, oder liegt es am DB-Server?

Was kann da der Fehler sein? Die Ports (3306) öffnen?


Fehler in der Console:

[EL Severe]: 2012-04-01 17:15:23.234--ServerSession(31998532)--Thread(Thread[http-bio-8080-exec-3,5,main])--Local Exception Stack:
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
Error Code: 0

[..]

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

[..]

javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
Error Code: 0


[..]
 
Zuletzt bearbeitet von einem Moderator:

XHelp

Top Contributor
Wenn du generell dich nicht mit dem mysql Server verbinden kannst, dann hat es ja nichts mit JPA zu tun. Läuft der mysql server überhaupt? Plesk hat, soweit ich weiß, phpMyAdmin von Haus aus, kannst du denn über Plesk auf die DB zugreifen?
 
G

g4da

Gast
Wenn du generell dich nicht mit dem mysql Server verbinden kannst, dann hat es ja nichts mit JPA zu tun. Läuft der mysql server überhaupt? Plesk hat, soweit ich weiß, phpMyAdmin von Haus aus, kannst du denn über Plesk auf die DB zugreifen?


Ja, habe auf dem Server einige PHP Projekte laufen! Und dachte da ich dort auch nur den localhost referenziere, reicht es bei der persistence auch aus.
 

XHelp

Top Contributor
Wie gesagt: wenn deine Anwendung lokal bei dir auf dem Rechner läuft, aber nicht auf dem Server und du dich auch nicht per Hand mit dem mysql Server verbinden kannst, dann ist der Fehler da zu suchen.
 
G

g4da

Gast
Wie gesagt: wenn deine Anwendung lokal bei dir auf dem Rechner läuft, aber nicht auf dem Server und du dich auch nicht per Hand mit dem mysql Server verbinden kannst, dann ist der Fehler da zu suchen.

Die Anwendung läuft aber auf meinem Server. Auf dem Server laufen ja auch die PHP Anwendungen (und die greifen auch per Localhost zu). Warum kann ich das mit dem Tomcat (auf dem Server) nicht?
 

XHelp

Top Contributor
Weil etwas falsch ist? :bahnhof:
Woher sollen wir wissen, warum dein mysql server anscheinend nicht funktioniert? Wende dich notfalls an den Support von deinem Hoster.
 

Ähnliche Java Themen


Oben