Announcement

Collapse
No announcement yet.

Fehler- Komme nicht auf Datenbank

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

  • Fehler- Komme nicht auf Datenbank

    Hallo..

    ich kann nicht auf meine Datenbank zugreifen.. Hat jemand eine Idee warum?
    ich habe den aktuellsten Java-Connector und wenn ich Mysql mit PHP anspreche funktioniert es. Gibt es eine Mysql-Einstellung die sowas verhindert?

    Fehler:
    Konnte Verbindung nicht herstellen: 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.

    Code:
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    public class DB_Connect {
     
        public Connection connectDB;
        public DB_Connect(String order) {
            String host="localhost", user="root", passwd="mypassword", database="japan";
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException cnfExc) {
                System.out.println("Konnte Treiber "+ cnfExc.getMessage()+" nicht laden.");
                System.exit(1);
            }
            try {
                String connectionCommand = "jdbc:mysql://"+host+"/"+database+"?user="+user+"&password="+passwd;
                connectDB = DriverManager.getConnection(connectionCommand);
                //Statement stmt = connectDB.createStatement();
                //stmt.execute(order);
            } catch (SQLException sqlExc) {
                System.out.println("Konnte Verbindung nicht herstellen: "+sqlExc.getMessage());
            }
        }
     
    }
    Aufruf über:
    Code:
    DB_Connect dbc = new DB_Connect("select * from tbl_symbol where level=1 and type=\"Hiragana\" ORDER BY RAND() LIMIT 10;");

  • #2
    Die Initialisierung mehrerer String in einer Zeile in in Java nicht üblich. Gib mal den Port mit an bei der Verbindung.
    Der DriverManager hat eine weitere statische Methode die die Vorgabe der Daten einfacher macht

    DriverManager.getConnection( "jdbc:mysql://localhost:3306/"+database, user, passwd );
    Christian

    Comment


    • #3
      Leider

      Hat leider nicht funktioniert.
      habe beide Varianten getestet:
      Code:
      import java.sql.Connection;
      import java.sql.DriverManager;
      import java.sql.ResultSet;
      import java.sql.SQLException;
      import java.sql.Statement;
      public class DB_Connect {
      
      	private Connection connectDB;
      	private Statement stmt;
      	private ResultSet rs;
      	public DB_Connect(String order) {
      		String host="localhost", user="root", passwd="mypassword", database="japan";
      		try {
      			Class.forName("com.mysql.jdbc.Driver").newInstance();
      		} catch (Exception cnfExc) {
      			System.out.println("Konnte Treiber "+ cnfExc.getMessage()+" nicht laden.");
      			System.exit(1);
      		}
      		try {
      			String connectionCommand = "jdbc:mysql://localhost:3306/japan?user="+user+"&password="+passwd;
      			System.out.println("connectDB = DriverManager.getConnection(connectionCommand);");
      			//connectDB = DriverManager.getConnection(connectionCommand);
      			connectDB = DriverManager.getConnection("jdbc:mysql://localhost:3306/japan", user, passwd);
      			System.out.println("stmt = connectDB.createStatement();");
      			stmt = connectDB.createStatement();
      			System.out.println("rs = stmt.executeQuery(order);");
      			rs = stmt.executeQuery(order);
      			while(rs.next()){
      				System.out.println(rs.getInt(1)+" : "+rs.getString(2));
      			}
      		} catch (SQLException sqlExc) {
      			System.out.println("Konnte Verbindung nicht herstellen: "+sqlExc.getMessage());
      		}
      	}
      
      }

      Comment


      • #4
        Versuche es mit 127.0.0.1 statt localhost (ev. Problem der Auflösung)
        wait_timeout des Servers prüfen
        Christian

        Comment


        • #5
          Danke

          nachdem ich statt localhost 127.0.0.1 eigestellt hatte lief es..

          Danke..

          Ne Idee woran das liegt?

          Comment


          • #6
            in der
            C:\WINDOWS\system32\drivers\etc\hosts

            ist der Eintrag

            127.0.0.1 localhost

            NICHT vorhanden
            Christian

            Comment


            • #7
              Du hast recht

              für 127.0.0.1 sind von Spybot eingerichtete Einträge vorhanden
              ich vermute mal wegen dem Blocken..
              local host steht so:

              ::1 localhost

              die von Spybot generierten Einträge lauten so:
              127.0.0.1 www.1000gratisproben.com
              127.0.0.1 1000gratisproben.com
              usw.

              kann ich da was ändern, damit wieder der localhost die Adresse hat oder lieber Finger von lassen?

              Comment


              • #8
                Alles löschen und

                127.0.0.1 localhost

                eintragen

                Bezweifle, dass

                die von Spybot generierten Einträge lauten so:
                127.0.0.1 www.1000gratisproben.com
                127.0.0.1 1000gratisproben.com
                das von Spybot kommt. Klingt so, also ob jemand auf deinem System Unsinn germacht hat ??

                Die o.a. Einträge bedeuten, dass wenn die Adresse www.gratisdingsbums eingegeben wird, http://127.0.0.1 angezeigt wird. Denke nicht, dass das Spybot macht. Zwar wäre das Ziel erreicht, dass die Adresse www.gratisdingsbums nicht zum Ziel führt, aber der Preis (siehe hier) wäre doch sehr hoch. Das Konzept von Spybot wäre dann zu "überdenken"

                die jungfräuliche hosts sollte so aussehen:

                # Copyright (c) 1993-1999 Microsoft Corp.
                #
                # Dies ist eine HOSTS-Beispieldatei, die von Microsoft TCP/IP
                # für Windows 2000 verwendet wird.
                #
                # Diese Datei enthält die Zuordnungen der IP-Adressen zu Hostnamen.
                # Jeder Eintrag muss in einer eigenen Zeile stehen. Die IP-
                # Adresse sollte in der ersten Spalte gefolgt vom zugehörigen
                # Hostnamen stehen.
                # Die IP-Adresse und der Hostname müssen durch mindestens ein
                # Leerzeichen getrennt sein.
                #
                # Zusätzliche Kommentare (so wie in dieser Datei) können in
                # einzelnen Zeilen oder hinter dem Computernamen eingefügt werden,
                # aber müssen mit dem Zeichen '#' eingegeben werden.
                #
                # Zum Beispiel:
                #
                # 102.54.94.97 rhino.acme.com # Quellserver
                # 38.25.63.10 x.acme.com # x-Clienthost
                127.0.0.1 localhost
                Zuletzt editiert von Christian Marquardt; 23.11.2010, 22:22.
                Christian

                Comment


                • #9
                  Danke hab mal ein wenig gegooglet

                  Es ist wirklich von Spybot und die Liste wird beim Immunisieren erstellt..
                  mal schauen wie ich dann weiter vorgehe..

                  Danke für die umfangreiche Hilfe!!!

                  Thomas

                  Comment

                  Working...
                  X