Announcement

Collapse
No announcement yet.

Verbindung zu SQL-Datenbank auf einem Server

Collapse
This topic is closed.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Verbindung zu SQL-Datenbank auf einem Server

    Ich versuche gerade eine Verbindung zu einer SQL-Datenbank auf einem Server zu machen und erhalte eine Fehlermeldung, dass keine Verbindung da ist:

    Hier der Code:

    Code:
       public void createDBConnection()
        {
        try
            {
            Class.forName("com.mysql.jdbc.Driver");
            dbconnection = DriverManager.getConnection("jdbc:mysql://www.domain.de:3306/datenkbank","benutzer","passwort");
            }
        catch(SQLException ex)
            {
            System.out.println("SQL-Exception beim Anlegen der DBConnection:"+ex.getMessage());
            }
        catch(ClassNotFoundException ex)
            {
            System.out.println("ClassNotFoundException beim anlegen der DBConnection:"+ex.getMessage());
            } 
        }
    Diese Syntax funktioniert zwar bei lokalen Datenbanken mit mysql auf der Festplatte, aber anscheinend nicht bei einer Domain - wer weiß Rat?

    Danke
    Zuletzt editiert von Einklang.; 25.06.2012, 17:56.

  • #2
    Jetzt ist die Frage, warum bei der ersten funktionierenden Verbindung die Variable "connect" stimmt und bei der zweiten Methode nicht? Nehm ich bei der zweiten Methode auch "connect" und lass "Connection" weg (also gleiche Syntax wie bei der ersten Verbindung), dann wird zu der Angabe in der Select-Abfrage auch die DAtenbank der ersten Verbindung zugefügt!
    Siehe Gültigkeitsbereich von Variablen in Java -> Grundlage zu Klassen und Methoden
    Christian

    Comment


    • #3
      Tolles Verhalten, die Beiträge nachträglich so zu ändern, dass ein völlig anderer Sinnzusammmenhang entsteht.

      Diese Syntax funktioniert zwar bei lokalen Datenbanken mit mysql auf der Festplatte, aber anscheinend nicht bei einer Domain - wer weiß Rat?
      Du hast kein Recht zu einem externen Zugriff
      Christian

      Comment


      • #4
        Hoster (insbesondere kostenlose) lassen üblicherweise nur lokale DB Zugriffe (also von einer dort gehosteten Webseite) zu.

        Comment


        • #5
          Originally posted by Ralf Jansen View Post
          Hoster (insbesondere kostenlose) lassen üblicherweise nur lokale DB Zugriffe (also von einer dort gehosteten Webseite) zu.
          Hm andere Programme haben die Daten aber runtergeladen - ich will diese Software nur nicht verwenden und mir ne eigene basteln....! :-)
          Also am Hoster scheint es nicht zu liegen....!

          Nachtrag: ich habe heute auch schon mit dem Hoster telefoniert und die gaben auch die Auskunft dass es möglich ist bzw dass ich einen Programmierer für den Aufbau fragen sollte- aber sagten nicht dass es nicht möglich wäre!
          Zuletzt editiert von Einklang.; 25.06.2012, 18:27.

          Comment


          • #6
            Dann raten wir mal das du eine Firewall laufen hast und der 3306 Port gesperrt ist. Oder das ganz einfach deine Zugangsdaten falsch sind.

            Comment


            • #7
              Hm andere Programme haben die Daten aber runtergeladen
              Dann hätten dies es auch nicht getan.

              Die Wahrscheinlichkeit ist hoch, dass es am programmierten Code liegt -> Es müsste ja eine Fehlermeldung ausgegeben werden. Vermutlich das er den Server nicht findet

              Ursache könnte sein, dass man sich ja nicht über/mit dem WorldWideWeb verbindet. Kommt aber darauf an was der Hoster macht. Wahrscheinlich wird es mit der IP funktionieren
              Zuletzt editiert von Christian Marquardt; 25.06.2012, 19:00.
              Christian

              Comment


              • #8
                Dann raten wir mal das du eine Firewall laufen hast und der 3306 Port gesperrt ist. Oder das ganz einfach deine Zugangsdaten falsch sind.
                Ne die andere Verbindung ist auch mit Port 3306 und funktioniert, allerdings lokal....! Zugangsdaten sind richtig.

                hier ist der code, eventuell kann ich noch eine Exception dazufügen dass eine genauere Meldung kommt.

                Code:
                public void createDBConnection()
                    {
                    try
                        {
                        Class.forName("com.mysql.jdbc.Driver");
                        dbconnection = DriverManager.getConnection("jdbc:mysql://www.domain.de:3306/datenbank","benutzer","passwort");
                        }
                    catch(SQLException ex)
                        {
                        System.out.println("SQL-Exception beim Anlegen der DBConnection:"+ex.getMessage());
                        }
                    catch(ClassNotFoundException ex)
                        {
                        System.out.println("ClassNotFoundException beim anlegen der DBConnection:"+ex.getMessage());
                        } 
                    }
                Von diesem Code kommt keine Meldung zurück, bzw keine Fehlermeldung.

                Fehlermeldung kommt von diesem Code hier, nämlich dass der Wert von dbconnection Null ist:

                Code:
                 public void testconnectionDB(DefaultTableModel defaultTableModel)
                    {
                    if(dbconnection==null)
                    {
                        System.out.println("Abfrage nicht möglich, Connection ist null");
                        System.out.println(dbconnection);
                        return;
                        }
                    try.........

                Comment


                • #9
                  http://www.java-forum.org/netzwerkpr...nk-server.html

                  Crosspost -> geschlossen
                  Zuletzt editiert von Christian Marquardt; 25.06.2012, 21:41.
                  Christian

                  Comment

                  Working...
                  X