Zum Inhalt springen

mysql - jdbc - Applets


Empfohlene Beiträge

Geschrieben

Hallo,

zum ersten mal bin ich mit Applets unterwegs und schon Probleme!

Ich möchte gerne mittels eines Applets auf eine mysql Datenbank zugreifen.

Läuft alles local,

mysql ist über telnet ansprechbar

Verionen: mysql 5.1.41 und connector mysql-connector-java-5.1.13

Wenn ich es NICHT als Applet ausführe, habe ich keine Probleme.

Als Applet bekomme ich den folgenden Fehler:

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.

----

Weiß der Geier welche Schmerzen er hat. Habe gegoogled hier geschaut.... nichts hat geholfen!

Hier der Code-Auszug


    String driver   = "org.gjt.mm.mysql.Driver";

    String url      = "jdbc:mysql://127.0.0.1:3306/datenbanken?user=root&password=";

    String user     = "root";

    String password = "";


    try {

      // Treiber laden

      Class.forName(driver).newInstance();

    }

    catch(Exception e) {

      System.err.println(e.getMessage());

      System.exit(0);

    }

    Connection connection = null;

    Statement statement = null;

    try {

      // Verbindung zur DB

      connection = DriverManager.getConnection(url, user, password);

      statement = connection.createStatement();

    }

    catch(SQLException e) {

      System.err.println(e.getMessage());

    }

    finally {

      if(statement!=null) {

        try { statement.close(); } catch(Exception e) {}

      }

      if(connection!=null) {

        try { connection.close(); } catch(Exception e) {}

      }

    }

Die Adresse "jdbc:mysql://127.0.0.1:3306/datenbanken?user=root&password=" wurde schon varriert - ohne Erfolg!

  • "jdbc:mysql://127.0.0.1:3306"
  • "jdbc:mysql://127.0.0.1/datenbanken?user=root&password="
  • "jdbc:mysql://127.0.0.1"

Wie gesagt:

Als ausführbare Klasse kein Problem, intrigiert in einem Applet "Ende im Gelände" - telnet spricht auch an!

PS.: Ja ich weiß root sollte man nicht machen. Ist ja nur zum Testen!

Geschrieben

Hi,

wenns als Anwendung läuft, aber aus dem Applet nicht, dann tippe ich auf fehlende Berechtigung...

Das ist in Applets immer ein bisschen heikel.

Du musst dein Applet signieren (jarsigner). Der User bekommt beim Ausführen dann eine Meldung die er bestätigen muss.

Geschrieben (bearbeitet)
Bitte einmal nach "Security Manager" googeln

und was soll mir das sagen? Gibt ja nur 190.000 Treffer und min 1000 verschiedene Bedeutungen bzw. entsprechende Gebiete. Vom blöden Sicherheitsmanager einer Sicherheitsfirma bis hin zu einem IT Portal - KLASSE ;-)

Werde mich aber mal in "Class SecurityManager" einlesen ;-)

Bearbeitet von Redskin
Geschrieben

@Schmarrer

Danke für die schnelle Antwort.

Daran hatte ich natürlich auch gedacht.

Da ich die Geschichte bisher nur von einem Rechner ausführe (mit DB Server und Client) sollte das Sandbox Prinzip hier ja noch nicht packen.

Dennoch hatte ich es gerade ausprobiert. Leider mit der gleichen Fehlermeldung!

Geschrieben
Bitte einmal nach "Security Manager" googeln

So habe nun mal quer gelesen, werde da aber im Moment noch nicht schlau raus:

Es ist mir klar das Applets sehr eingeschränkte Rechte haben.

Ohne Zertifizierung läuft eh nichts.

Aber auch mit Einschränkungen des vorhandenen Securty Manager sollte es doch möglich sein, eine lokale Verbindung zu einem SQL DB Server aufzunehmen.

Müsste ich, wenn es sich hier um einen ein Securtiy Problem handelt keine SecurityException bekommen? - Es scheint mir ja eher ein vErbindungsproblem zu sein, verstehe nur nicht warum.

Andere Beispiele mit Applet und jdbc mit mysql laufen aj auch....nur meins net???

Geschrieben

Das Applet baut einer Verbindung zu deinem DB Dienst auf, aber generell darf ein Applet nicht einfach "wild" irgendwohin verbinden, d.h. Du musst Dir den aktuell SM in dein Applet holen und dort eine passende Policy (das ist eine Datei) laden, die es erlaubt eben eine Verbindung aufzubauen.

Ich habe mich selbst nicht mit dem SM und JDBC auseinander gesetzt, sondern nur mit Sockets, aber da der JDBC ja letztendlich auch einen Clientsocket benötigt wäre das mein Vorgehen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...