nimble: JDBC und MySQL

Hi

Ich installiere gerade Tomcat und MySQL auf einem XP System. Doch leider habe ich Probleme mit der Verbindung zwischen dem Servlet und der Datenbank.

In der Datenbank habe ich den User "java" erstellt und diesem die Rechte  für SELECT, UPDATE und INSERT gegeben. Wenn ich über die MySQL Konsole mit diesem User verbinde kann ich auch alle Tabellen sehen.

Nur über den Java JDBC Treiber funktioniert das nicht:
[code="java"]
DriverManager.getConnection("jdbc:mysql://localhost:3301/nmt?user=java&password=geheim")
[/code]
[code="java"]
Connection Exception
SQLException: Access denied for user 'java'@'localhost' (using password: YES)
[/code]

THX
------------------------------
lieber ein Pinguin der läuft
als ein Fenster das hängt
------------------------------

  1. Hallo,

    Nur über den Java JDBC Treiber funktioniert das nicht:

    DriverManager.getConnection("jdbc:mysql://localhost:3301/nmt?user=java&password=geheim")

    
    > Connection Exception  
    > SQLException: Access denied for user 'java'@'localhost' (using password: YES)  
      
    Wahrscheinlich wird in der url bei [Drivermanager.getConnection(java.lang.String url)](http://java.sun.com/javase/6/docs/api/java/sql/DriverManager.html#getConnection(java.lang.String)) gar kein query-Part geparst. Has Du es schon mal mit [getConnection(java.lang.String url, java.lang.String user, java.lang.String password)](http://java.sun.com/javase/6/docs/api/java/sql/DriverManager.html#getConnection(java.lang.String,%20java.lang.String,%20java.lang.String)) versucht?  
      
    viele Grüße  
      
    Axel
    
    1. Hi

      Wahrscheinlich wird in der url bei Drivermanager.getConnection(java.lang.String url) gar kein query-Part geparst. Has Du es schon mal mit getConnection(java.lang.String url, java.lang.String user, java.lang.String password) versucht?

      leider passt auch das nicht. Ich habe das ganze bereits auf einem Testsystem eingesetzt und da hat es auch funktioniert...

      Ich vermute also ein Konfigurationsfehler bei der Datenbank

      THX

      ------------------------------
      lieber ein Pinguin der läuft
      als ein Fenster das hängt
      ------------------------------

      1. Hallo,

        Wahrscheinlich wird in der url bei Drivermanager.getConnection(java.lang.String url) gar kein query-Part geparst. Has Du es schon mal mit getConnection(java.lang.String url, java.lang.String user, java.lang.String password) versucht?

        leider passt auch das nicht. Ich habe das ganze bereits auf einem Testsystem eingesetzt und da hat es auch funktioniert...

        Gibst Du das password bei getConnection als String ein, also:

        Class.forName ("com.mysql.jdbc.Driver").newInstance ();
        conn = DriverManager.getConnection ("jdbc:mysql://localhost:3301/nmt", "java", "geheim");

        Oder stehen da irgendwelche Variablen für url, user und/oder password? Wenn Variablen, hast Du mal testweise ausgeben lassen, was diese zum Zeitpunkt des Connects wirklich enthalten? Stehen im password irgendwelche Sonderzeichen? Wenn ja, probier mal ein Passwort mit nur ASCII-Zeichen.

        viele Grüße

        Axel

        1. Hi

          Class.forName ("com.mysql.jdbc.Driver").newInstance ();
          conn = DriverManager.getConnection ("jdbc:mysql://localhost:3301/nmt", "java", "geheim");

          Ich habe un & pw direckt in den String geschrieben.
          Ein weiterer Test hat ergeben, dass der identische code in eine main-Methode verpackt und auf dem rechner ausgeführt einwandfrei verbindet.

          THX

          ------------------------------
          lieber ein Pinguin der läuft
          als ein Fenster das hängt
          ------------------------------