Announcement

Collapse
No announcement yet.

Eigenartige Fehlermeldung bei

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Eigenartige Fehlermeldung bei

    Ich wollte eine Datenbankverbidung herstellen, allerdings bekomme ich immer eine recht eigenartige Fehlermeldung:

    java.sql.SQLException: No suitable driver found for jdbc:/opt/lampp/bin/mysql://localhost:3306/project2
    Ich verstehe nicht, woran das liegen könnte. Ich habe MySQL 5.6.26, ich habe darüber hinaus mysql-connector-java-5.0.8. Liegt das eventuell an einer mangelnden Kompatibilität?

    Hier der Code:

    Code:
    package core;
    
    import java.sql.*;
    
    public class Main {
    
    	   final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
    	   final String DB_URL = "jdbc:/opt/lampp/bin/mysql://localhost:3306/project2"; //Dies muesste ok sein.
    
    	   static final String USER = "root";
    	   static final String PASS = "supergeheim";
    	   
    	   
    	public void start(){
    		   
    		   Connection conn = null;
    		   Statement stmt = null;
    		   
    		   try{
    	
    	      Class.forName("com.mysql.jdbc.Driver");
    
    	      conn = DriverManager.getConnection(DB_URL,USER,PASS);
    		      
    		      /*
    		      stmt = conn.createStatement();
    		      String sql;
    		      sql = "SELECT id, first, last, age FROM persons";
    
    		      ResultSet rs = stmt.executeQuery(sql);
    
    		      while(rs.next()){
     
    		         int id  = rs.getInt("id");
    		         int age = rs.getInt("age");
    		         String first = rs.getString("first");
    		         String last = rs.getString("last");
    
    		         System.out.print("ID: " + id);
    		         System.out.print(", Age: " + age);
    		         System.out.print(", First: " + first);
    		         System.out.println(", Last: " + last);
    		      }
    	 
       	              rs.close();
    		      stmt.close();
    		      conn.close();
    		      
    		   }catch(SQLException se){
    		      
    		      se.printStackTrace();
    		      */
    		   }catch(Exception e){
    		      
    		      e.printStackTrace();
    		   }finally{
    		      
    		      try{
    		         if(stmt!=null)
    		            stmt.close();
    		      }catch(SQLException se2){
    		      }// nothing we can do
    		      try{
    		         if(conn!=null)
    		            conn.close();
    		      }catch(SQLException se){
    		         se.printStackTrace();
    		      }
    		   }
    		  
    	}
    	
    	public static void main(String[] args){
    		
        Main m = new Main();
        m.start();
    				
    	}
    	
    }

  • #2
    Das ist falsch
    final String DB_URL = "jdbc:/opt/lampp/bin/mysql://localhost:3306/project2";
    Dort gehört die URI zum Rechner und der DB hin
    jdbc:mysql://localhost:3306/project2


    Die Zeile
    Class.forName("com.mysql.jdbc.Driver");
    bewirkt nichts und ist zu löschen


    ich habe darüber hinaus mysql-connector-java-5.0.8.
    Du hast die Lib auch deinem Projekt hinzugefügt.....die Fehlermeldung besagt, dass du das nicht gemacht hast. Die Anwendung findet den Treiber nicht
    Zuletzt editiert von Christian Marquardt; 02.09.2015, 15:22.
    Christian

    Comment


    • #3
      Du hast die Lib auch deinem Projekt hinzugefügt.....die Fehlermeldung besagt, dass du das nicht gemacht hast. Die Anwendung findet den Treiber nicht
      Danke für die Tipps - ich habe nun erneut aus ener Quelle die mysql-connector-java-5.0.8. heruntergeladen und in einen Ordner namens lib gesetzt und ichhabe jene .jar dem Buldpath hinzugefügt. Dennoch kommt die fehlermeldung:

      java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/project2
      at java.sql.DriverManager.getConnection(DriverManager .java:596)
      at java.sql.DriverManager.getConnection(DriverManager .java:215)
      at core.Main.start(Main.java:24)
      at core.Main.main(Main.java:80)

      Comment


      • #4
        in einen Ordner namens lib gesetzt
        Der Name des Ordners ist egal


        ichhabe jene .jar dem Buldpath hinzugefügt.
        Das hast du wie gemacht?

        at core.Main.start(Main.java:24)
        Welche Zeile ist 24?

        Den Treiber gibt es hier
        http://dev.mysql.com/downloads/connector/j/
        Zuletzt editiert von Christian Marquardt; 02.09.2015, 17:20.
        Christian

        Comment


        • #5
          Danke für den Downloadlink. Also ich habe das wie folgt gemacht. Ich habe in Eclipse einen Ordner "lib" angelegt. Dort habe ich die jar (des Treibers, welchen ich über den Downloadlink bekommen habe) hineinkopiert. Ich habe dann auf den Projektordner einen Rechtsklick gemacht --> configure Buildpath. Dann habe ich die jar des Treibers als externe jarhinzugefügt. Dies scheint geklappt zu haben, nun ist es aber so, dass die DB die Verbindung verweigert, was ebenfalls ein Fehler ist, welchen ich nicht vrstehe, denn die Logincredentials stimmen doch eigentlich:

          com.mysql.jdbc.exceptions.jdbc4.CommunicationsExce ption: 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.newInsta nce0(Native Method)
          at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:57)
          at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:45)
          at java.lang.reflect.Constructor.newInstance(Construc tor.java:526)
          at com.mysql.jdbc.Util.handleNewInstance(Util.java:40 0)
          at com.mysql.jdbc.SQLError.createCommunicationsExcept ion(SQLError.java:1038)
          at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:339)
          at com.mysql.jdbc.ConnectionImpl.coreConnect(Connecti onImpl.java:2247)
          at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(Co nnectionImpl.java:2280)
          at com.mysql.jdbc.ConnectionImpl.createNewIO(Connecti onImpl.java:2079)
          at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImp l.java:794)
          at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connect ion.java:44)
          at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
          at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:57)
          at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:45)
          at java.lang.reflect.Constructor.newInstance(Construc tor.java:526)
          at com.mysql.jdbc.Util.handleNewInstance(Util.java:40 0)
          at com.mysql.jdbc.ConnectionImpl.getInstance(Connecti onImpl.java:399)
          at com.mysql.jdbc.NonRegisteringDriver.connect(NonReg isteringDriver.java:325)
          at java.sql.DriverManager.getConnection(DriverManager .java:571)
          at java.sql.DriverManager.getConnection(DriverManager .java:215)
          at core.Main.start(Main.java:24)
          at core.Main.main(Main.java:80)
          Caused by: java.net.ConnectException: Connection refused
          at java.net.PlainSocketImpl.socketConnect(Native Method)
          at java.net.AbstractPlainSocketImpl.doConnect(Abstrac tPlainSocketImpl.java:339)
          at java.net.AbstractPlainSocketImpl.connectToAddress( AbstractPlainSocketImpl.java:200)
          at java.net.AbstractPlainSocketImpl.connect(AbstractP lainSocketImpl.java:182)
          at java.net.SocksSocketImpl.connect(SocksSocketImpl.j ava:392)
          at java.net.Socket.connect(Socket.java:579)
          at com.mysql.jdbc.StandardSocketFactory.connect(Stand ardSocketFactory.java:214)
          at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:298)
          ... 16 more

          Comment


          • #6
            java.net.ConnectException: Connection refused
            Communications link failure

            Entweder läuft der DB-Server nicht oder der Link zur DB ist falsch

            https://dev.mysql.com/downloads/workbench/

            Tool zum verwalten der DBs
            Christian

            Comment


            • #7
              Ich habe nun xampp komplett heruntergeschmissen und mysql gesondert installiert - seitdem klappt es einwandfrei

              Comment


              • #8
                Was willst du als Javaentwickler mit XAMPP?
                Apache -> Für Java -> nein
                PHP -> Für Java -> nein

                Das ist meine Erfahrung hier: Es gibt mit XAMPP mehr Probleme, als es löst

                Schön, dass es geht
                Christian

                Comment


                • #9
                  Stimmt - denn wenn ich versuche, an ein durch XAMPP installiertes MySQL über JDBC oder JPA anzudocken, dann komme ich in des Teufels Küche. Ich hatte vorher ein Paar PHP-Übungen gemacht, daher hatte ich noch XAMPP drauf

                  Comment

                  Working...
                  X