MySQL ohne ODBC



  • Hallo!
    Habe mir gerade von mysql.com den JDBC-Treiber heruntergeladen und auch in den Classpath eingebunden. Mit Hilfe von diesem Codestück versuche ich die Verbindung herzustellen:

    try {
    			Class.forName("com.mysql.jdbc.Driver");
    			this.setConnection(DriverManager.getConnection("jdbc:mysql://"+this.getHost()+"/meinetestdb?user="+this.getUsername()+"&password="+this.getPassword()));
    			this.getConnection().close();
    		}
    		catch(ClassNotFoundException e) {
    			return "Klasse net gefunden";
    		}
    		catch(SQLException e) {
    			return "keine Verbindung";
    		}
    

    Bevor ich den Treiber installiert habe wurde immer eine ClassNotFoundException ausgelöst. Nun kommt ständig die SQLException. Dabei läuft auf localhost auf port 3306 auch wirklich ein MySQL-Server. Die Datenbank meinetestdb gibt es auch. Benutzername und Passwort sind auch richtig.

    Ich habe auch schon die getConnection() Methode versucht, bei der man Benutzername und Passwort nicht in der URL kodiert. Klappt ebenfalls nicht.

    Gibt es irgendwas, was ich ausgelassen habe?

    Danke schonmal im Voraus für alle Antworten...



  • Böser Code! Und man bekommt doch so einen schönen StackTrace von java geliefert.
    Bei dir werd ich an die alten C zeiten erinnert.

    catch(SQLException e) {
       e.printStackTrace()
    }
    


  • grenouille_unreg schrieb:

    Böser Code! Und man bekommt doch so einen schönen StackTrace von java geliefert.
    Bei dir werd ich an die alten C zeiten erinnert.

    catch(SQLException e) {
       e.printStackTrace()
    }
    

    Bin in der Tat eher in C zu Hause.
    So. e.printStackTrace() gibt mir folgendes zurück:

    java.sql.SQLException: Access denied for user: 'root@localhost.localdomain' (Using password: NO) at
    com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2921) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:770) at
    com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1228) at com.mysql.jdbc.Connection.createNewIO(Connection.java:2544) at
    com.mysql.jdbc.Connection.(Connection.java:1474) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:264) at
    java.sql.DriverManager.getConnection(DriverManager.java:525) at java.sql.DriverManager.getConnection(DriverManager.java:193)
    at TestServlet.doGet(TestServlet.java:34) at javax.servlet.http.HttpServlet.service(HttpServlet.java:747) at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:860) at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:419) at
    org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:133) at javax.servlet.http.HttpServlet.service(HttpServlet.java:747) at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:860) at
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at
    org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at
    org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at
    org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at
    org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) at
    org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at
    org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at
    org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) at
    org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:595)
    


  • Überprüfe deinen User und dein Passwort.



  • CengizS schrieb:

    Überprüfe deinen User und dein Passwort.

    Sind definitiv richtig. 100%ig. Ganz sicher. Ohne Zweifel. Kann mich in phpMyAdmin mit denselben Daten einloggen. Wirklich!!! 😉



  • java.sql.SQLException: Access denied for user: 'root@localhost.localdomain' (Using password: NO) at

    Sagt aber irgendwie etwas anderes. 🙂
    Schonmal ein clean&build fürs Projekt gemacht?



  • Hab es jetzt raus:
    Die Java-MySQL-Verbindung klappt nur, wenn ein passwort benutzt wird. Die kiste auf der ich hier arbeite benutzt für MySQL kein passwort, da sowieso keiner drauf zugreifen kann. Habe mal zum Spaß einen neuen Account mit Passwort angelegt und schon ging es. Sehr merkwürdig dieser MySQL-Datenbanktreiber 🙄


Anmelden zum Antworten