Java goes SQL: schön wär's

wofür brauchst du denn
Code:
 <property name="connection.datasource">java:comp/env/jdbc/xXxXxXx</property>
UND
Code:
  <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
  <property name="connection.url">jdbc:mysql://10.2.1.1:3306/xXxXxXx</property>
  <property name="connection.username">xXxXxXx</property>
  <property name="connection.password">

ich denke entweder oder (oder?)
ist die datasource nicht für jndi?
(nicht das du denkst du bist aufm richtigen Server....bist es aber nicht....prüf das doch mal)

- was passiert wenn du dich mit nem anderen User versuchst anzumelden? (root?)
- kannst du dich von der gleichen Maschine mit den MySQL-Tools verbinden?

EDIT:
Außerdem gibt es noch org.hibernate.dialect.MySQL5Dialect.
Kann aber nicht genau sagen, ob es in Hinsicht Anmeldung Änderungen gibt.
 
Zuletzt bearbeitet:
- es ist egal welchen account ich wähle. root geht auch nicht.
- ja, alles t. alles ausser java.

das mit den properties ist natürlich ein interessanter punkt. zumal das weglassen des einen (egal welchen) im moment das connecten allgemein unmöglich macht. auch auf die ältere mysql version.

das mit dem dialect 5 ist wirklich sehr unwahrscheinlich - aber wie war das mit den pferden? ;-) ich werde das testen jetzt mal delegieren und tante google ausquetschen -

oder hast du noch eine idee? ;-]
 
also, allein mit diesen Daten muss die Verbindung *also unter normalen Umständen* funktionieren:

Code:
  <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
  <property name="connection.url">jdbc:mysql://10.2.1.1:3306/xXxXxXx</property>
  <property name="connection.username">xXxXxXx</property>
  <property name="connection.password">
also ohne
Code:
<property name="connection.datasource">java:comp/env/jdbc/xXxXxXx</property>

das weglassen des einen (egal welchen) im moment das connecten allgemein unmöglich macht
Wichtig ist auch hier:
Was genau sagt die Fehlermeldung aus?
Timeout? Host not found ? oder wieder:
Code:
java.sql.SQLException: Access denied for user 'userVier'@'%'

Möglicherweise (warum auch immer) musst du auch Benuzernamen und Passwort an die URL hängen:
Code:
<property name="connection.url">jdbc:mysql://localhost/test?user=userName&password=password</property>
 
Wichtig ist auch hier:
Was genau sagt die Fehlermeldung aus?
Timeout? Host not found ? oder wieder:
Code:
java.sql.SQLException: Access denied for user 'userVier'@'%'
Richtig, letzteres. Immer.

Möglicherweise (warum auch immer) musst du auch Benuzernamen und Passwort an die URL hängen:
Code:
<property name="connection.url">jdbc:mysql://localhost/test?user=userName&password=password</property>
Nope. Leider nicht.
 
Hallo,
ich denke mal du hast mysql auf dem Server schon so konfiguriert, dass es auch auf allen
Netzwerk Interfaces auf Anfragen lauscht (sonst hättest du schon am Anfang ein connection refused bekommen).

Aber es sieht so aus als wäre für den User: userVier wirklich nicht die richtigen Permissions gesetzt.

Setz die Permissions doch mal explizit für den userVier von host 10.2.1.1 und versuch dich lokal per JDBC zu verbinden.
Siehe hier:
http://www.tutorials.de/forum/relat...me/246192-mysql-readonly-user-einrichten.html

Wenn das klappt versuch mal explizit die Verbindung für den userVier von einer externen IP Addresse zu erlauben und versuchs nochmal von einem anderen Rechner im Netz. Kann es sein, dass diese wildcards (%) ignoriert werden, wenn man mysql in einem bestimmten Modus betreibt?

Gruß Tom
 
evtl, je nachdem wie man MySQL konfigurieren kann, steht auch in den LOG-Files etwas genauer beschrieben warum welcher User abgelehnt wurde....

Und versuche in jedem Fall nochmal dich mit z.B den MySQL-Tools zu verbinden.
(Um das mit den Berechtigungen nochmal richtig zu prüfen)
 
Danke Euch!

Das Problem erledigte sich als ich feststellte, dass der erste Request dieses Teils der Applikation immer auf eine View geht - und das entsprechende Recht war offensichtlich wirklich nicht gesetzt. Somit erklärt sich auch, dass alle anderen Verbindungsversuche auf Anhieb funktionierten - meine Tests ließen ebendiese View links liegen. Vielleicht sollte ich, trotz meiner Vorliebe für C und Perl, mir hin und wieder mal die Mühe machen, unsere Java-Sources genauer unter die Lupe zu nehmen - vor allem in solchen Fällen. Asche auf mein Haupt, aber so kann es kommen... :rolleyes:

Greetz
Enum
 
Zurück