Offline App mit online MYSQL - DB verbinden

demo-kind

Mitglied
hey leute,

wie ihr bestimmt schon bemerkt habt, bin ich kein java geek, sondern eher in richtung c und co. unterwegs, weshalb ich eine - nicht so simple - frage habe, wie ich finde.

wie das thema es schon beschreibt, geht es mir darum eine verbindung zw. einem offline Java programm und einer mysql db, welche sich im internet befindet, herzustellen.

ich würde gerne über eine applikation datensätze ändern, hinzufügen aber auch löschen können.

ich hoffe jemand kann mir eine außführliche beschreibung posten, denn ich habe absolut keine ahnung 🙁.

wie ich die verbindung offline realisiere mit xampp weiß ich, jedoch lässt sich das nicht in richtung online übertragen.

auch die finger habe ich mir schon wundgegoogled und alles in allem bastle ich an diesem problem schon fast seit 1,5 jahren - ich wäre also sehr dankbar, wenn mir jemand weiterhelfen könnte.

gruß michaela und danke für alle die sich der sache annehmen 😉
 
nein 😉.. da hast du recht. das eigentliche programm ist jedoch keine web-applikation, sondern befindet sich auf außgewählten rechnern und liegt somit nicht auf dem server, so wars gemeint 😉
 
am soruce code ändert sich online doch nix, einfach die ip eintragen bei der verbindung

Java:
public class DBtest{

    public static void main(String[] args) {

        System.out.println("Start");

        String driverName = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://localhost:4406/"; //ip, domain, whatever
        String dbName = "kundendaten";
        String userName = "root";
        String password = "";
        Connection con = null;

        try {
            Class.forName(driverName);
        }
        catch (ClassNotFoundException e) {
            System.out.println("driver not found");
        }

        try {
            con = DriverManager.getConnection(url + dbName, userName, password);
        }
        catch (SQLException se) {
            System.out.println(se);
        }


        ResultSet rs = null;
        PreparedStatement prest = null;

        try {
            String sql = "SELECT Bestellnr_pk, Name, Ort, Artikelnr_pk, Artikelname, DatumZeit" +
                         " FROM kunden k, bestellung b, bestellartikel ba, artikel a" +
                         " WHERE k.Kundennr_pk = ?" +
                         " AND k.Kundennr_pk = b.kundennr_fk" +
                         " AND b.Bestellnr_pk = ba.Bestellnr_fk" +
                         " AND a.Artikelnr_pk = ba.Artikelnr_fk";
            prest = con.prepareStatement(sql);

            // kundennummer die man ausliest
            prest.setInt(1,1);

            rs = prest.executeQuery();

        }
        catch (SQLException se){
            System.out.println(se + "1");
        }
}
 
Die Zugriffsberechtigungen bei mySQL werden auf Webservern meist so konfiguriert,
dass nur vom Server selbst (localhost) eine Verbindung aufgebaut werden kann.

Ob das in Deinem Fall so ist, musst Du beim Admin bzw. dem Hoster erfragen.
Ist es so, bleibt die Möglichkeit, z.B. den indirekten Weg über PHP-Skripte zu gehen.

VG ROlf
 
Ich würde aber immer einen WebService dazwischen legen und nie mit eine DB übers Internet direkt kommunizieren. Vorallem da die Verbindung bei MySQL so schön unverschlüsselt ist.
 
ich hab das selbe vor 🙂
und wollte mich jetzt eigentlich auch mit webservices auseinandersetzen (das thema erscjägt mich gerade irgendwie...). da ich dort aber etwas von "semi automatischen erstellen von java-klassen aus der WSDL datei" lese, wollte ich mal eben nachfragen:
werden diese Klassen dann auf dem Webspace erstellt?
Wenn ja: soweit ich weiß unterstützt sogut wie kein kostenloser webspace java,oder liege ich da falsch?
wenn jemand gute Grundlagen und Tutorials bezüglich des Themas hat,nehme ich es gerne entgegen...

PS: es heißt,dass ich die "Struktur" der Antwort in einem XML-Dokuemnt definiere: würde dies auch bei variablen ergebnissen funktionieren?
 
Zuletzt bearbeitet:
Hallo Jigga,

deine Frage wird sehr oft hier im Forum diskutiert und beantwortet. Bitte nutze die Suchfunktion.

Einen Thread dazu zu hijacken ist auch nicht korrekt. Bitte trennen.

Gruß,

Martin
 

Zurück
Oben