MySQL-Datenbank (phpMyAdmin mit STRATO) in Base öffnen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

NTClient
****
Beiträge: 106
Registriert: Di, 19.07.2005 16:09

MySQL-Datenbank (phpMyAdmin mit STRATO) in Base öffnen

Beitrag von NTClient »

Hallo Jungs und Mädels!

Vielleicht stelle ich mich was dumm, aber im Forum habe ich zwar gelesen, dass man mit OOBase eine MYSQL-Datenbank öffnen kann. Nur: Wie kann ich mit meinem Rechner auf eine MySQL-Datenbank zugreifen, die ich zuvor mit PHPMyAdmin bei Strato.de erzeugt habe?

Ich weiß keinen Einstieg in das Problem. Soll ich über OOBase - Verbindung zu einer bestehenden Datenbank - MySQL gehen? Da kann ich aber nur ODBC oder JDBC als Verbindung wählen. Ich muss doch irgendwo Servername, Datenbankname und Passwort eingeben!?

Gebt mir doch mal grob einen Hinweis!!

Gruß Bernd!
hol.sten
******
Beiträge: 871
Registriert: Fr, 18.11.2005 21:21

Re: MySQL-Datenbank (phpMyAdmin mit STRATO) in Base öffnen

Beitrag von hol.sten »

NTClient hat geschrieben:Wie kann ich mit meinem Rechner auf eine MySQL-Datenbank zugreifen, die ich zuvor mit PHPMyAdmin bei Strato.de erzeugt habe?
Da ich selbst keine DB bei Strato habe, kann ich dir nicht sagen, ob die den Zugriff von außen zulassen. Aber das wirst du ja am Ende sehen.
NTClient hat geschrieben:Ich weiß keinen Einstieg in das Problem. Soll ich über OOBase - Verbindung zu einer bestehenden Datenbank - MySQL gehen?
Sehr gut. Du hast den Einstieg gefunden! Aber machen wir erst mal den ersten Schritt: Verraten wir OOo, wo es einen JDBC-Treiber für deinen Strato MySQL-Server findet. Ich habe bei mir lokal eine MySQL 5.0.67 Version laufen. Auf diese Version kann ich mit dem JDBC-Treiber aus dem JAR mysql-connector-java-5.1.7-bin.jar zugreifen. Das Jar kannst du dir über die MySQL-Webseite herunterladen. Anschließend startest du OOo (noch nicht OOo Base), wählst "Extras" > "Optionen..." > "OpenOffice.org" > "Java", drückst den Button "Class Path...", drückst den Button "Archiv hinzufügen...", suchst und wählst das heruntergeladene mysql-connector-java-5.1.7-bin.jar JAR-File und drückst so lange "OK" bis du den Optionendialog erfolgreich verlassen hast.

Wenn irgendeiner der hier beschriebenen Buttons bei dir etwas (sehr) anders heißt, dann liegt das daran, dass bei mir unter Windows XP die OOo 3.0.0 Version in englisch läuft und ich die Bezeichungen nach gut Glück für dich hier übersetzt habe. Es muss also nicht jeder Button in deiner OOo-Version so heißen, wie in meiner.
NTClient hat geschrieben:Da kann ich aber nur ODBC oder JDBC als Verbindung wählen. Ich muss doch irgendwo Servername, Datenbankname und Passwort eingeben!?
Ok, grober Hinweis. Genaues geht auch nicht, da du deine OOo Version und dein Betriebssystem verschweigst. Aber egal.

Nun musst du OOo Base starten und auswählen, dass du eine Verbindung zu einer bestehenden Datenbank einrichten möchtest. Fange am besten damit an, dass du in der zugehörigen Auswahlliste "MySQL" wählst. Dann auf den Weiter-Button drücken.

Nun wählst du z. B. das du JDBC verwenden willst und drückst wieder den Weiter-Button.

Als nächstes kannst du den Datenbankname (bei mir testhalber einfach test), die Server-URL (hier muss dein Servername rein, ich habe bei mir testhalber localhost angegeben) und die Port-Nummer deines MySQL-Servers angegeben werden (hier habe ich den Default 3306 nicht geändert). Als letztes musst du noch einen MySQL JDBC Driver auswählen. Bei mir steht da com.mysql.jdbc.Driver drin. Mit dem "Teste Klasse"-Button kannst du schauen, ob die Einrichtung des mysql-connector-java-5.1.7-bin.jar JAR-Files geklappt hat. Wenn nicht, dann musst du das jetzt erst in Ordnung bringen. In der Hoffnung, es hat alles geklappt, gehts weiter mit dem Weiter-Button.

Jetzt gibst du einen MySQL-Benutzer an und ob ein Passwort erforderlich ist. Jetzt kommt der entscheidende Moment: Du drückst "Teste Verbindung". Wenn du eine Erfolgsmeldung liest (bei mir (vorsicht, nicht übersetzt, also engslisch) "Connection Test - The connection was established successfully." Wenn auch das geklappt hast drückst du nochmal den Weiter-Button und dann den Ende-Button. Hat alles geklappt, solltest du nun auf deine MySQL-DB zugreifen können. Bei mir lokal funzt es so auf jeden Fall ohne Probleme.
NTClient
****
Beiträge: 106
Registriert: Di, 19.07.2005 16:09

Re: MySQL-Datenbank (phpMyAdmin mit STRATO) in Base öffnen

Beitrag von NTClient »

Das mit dem mysql-connector-java-5.1.7-bin.jar habe ich nicht so ganz hinbekommen.

jedoch ist bei mir bereits MySQl JDBC Treiberklasse com.mysql.jdbc.Driver vorinstalliert. Bei "Klasse testen" sagt er auch "Der JDBC-Treiber wurde erfolgreich geladen," Wenn ich nach Deiner Anleitung das ganze durch mysql-connector-java-5.1.7-bin.jar. Driver ersetze kommt " Der JDBC-Treiber konnte nicht geladen werden".

Mag aber auch sein, dass ich da was falsch gemacht habe:
1. Habe ich den sinn noch nicht ganz verstanden.
2. Weiß ich bei Class Path den Unterschied nicht ganz zwischen Archive hinzufügen und Ordner hinzufügen.Bei Ordner habe ich das Verzeichnis gewählt, in dem mysql-connector-java-5.1.7-bin.jar zu finden ist. Folge: Bei Treiberklasse steht wieder com.mysql.jdbc.Driver aber klasse testen funktioniert nicht.

Bei Archive hinzufügen habe ich mysql-connector-java-5.1.7-bin.jar direkt ausgewählt. Folge: Bei Treiberklasse steht wieder com.mysql.jdbc.Driver, Klasse testen funktioniert, aber

Communication link failure
Last packet snt to the server was 0ms ago.

Ziemlich kompliziert das Ganze!!

gruß Brnd!
hol.sten
******
Beiträge: 871
Registriert: Fr, 18.11.2005 21:21

Re: MySQL-Datenbank (phpMyAdmin mit STRATO) in Base öffnen

Beitrag von hol.sten »

NTClient hat geschrieben:Das mit dem mysql-connector-java-5.1.7-bin.jar habe ich nicht so ganz hinbekommen.
Teilweise ja wohl schon, sonst hätte der Test der Treiberklasse bei dir nie funktioniert!
NTClient hat geschrieben:jedoch ist bei mir bereits MySQl JDBC Treiberklasse com.mysql.jdbc.Driver vorinstalliert.
Ganz sicher nicht! OOo hat ausschließlich die Treiber für HSQLDB an Bord. Alle anderen JDBC-Treiber musst du, damit "Klasse testen" funktionieren kann, vorher zum OOo Classpath hinzufügen, und zwar so, wie ich es beschrieben habe! Das einzige was OOo offensichtlich weiß ist, dass der Standard-MySQL-JDBC-Treiber com.mysql.jdbc.Driver heißt. Daher schlägt dir OOo diesen Namen vor. Ohne hinzufügen von mysql-connector-java-5.1.7-bin.jar zum OOo Classpath wird "Klasse testen" aber nicht funktionieren.
NTClient hat geschrieben:Bei "Klasse testen" sagt er auch "Der JDBC-Treiber wurde erfolgreich geladen," Wenn ich nach Deiner Anleitung das ganze durch mysql-connector-java-5.1.7-bin.jar. Driver ersetze kommt " Der JDBC-Treiber konnte nicht geladen werden".
Ich wollte meine obige Beschreibung nicht so verstanden haben, dass du mysql-connector-java-5.1.7-bin.jar als MySQL JDBC Treiber Klasse eintragen sollst! mysql-connector-java-5.1.7-bin.jar muss in den Classpath. Und das steht in meiner Anleitung etwas weiter oben.
NTClient hat geschrieben:Mag aber auch sein, dass ich da was falsch gemacht habe:
Na ja, zumindest zum Teil.
NTClient hat geschrieben:1. Habe ich den sinn noch nicht ganz verstanden.
Nochmal: OOo hat KEINE JDBC-Treiber dabei außer den für HSQLDB (weil das die OOo Base intern genutzte Datenbank ist). Wenn du also möchtests, dass OOo Base auf MySQL zugreifen kann, musst du OOo Base vorher sagen, wo es den JDBC-Treiber für MySQL findet. Und das ist z. B. mysql-connector-java-5.1.7-bin.jar. Öffne das mal mit einem ZIP-Programm deiner Wahl und schau dir die Verzeichnisstruktur darin an. Du wirst dann eine Datei namens Driver.class im Unterverzeichnis "com\mysql\jdbc" des JAR-Files finden. Und damit "Klasse testen" diese Datei ebenfalls findet, musst du OOo sagen, wo mysql-connector-java-5.1.7-bin.jar auf deinem Computer gespeichert ist.
NTClient hat geschrieben:2. Weiß ich bei Class Path den Unterschied nicht ganz zwischen Archive hinzufügen und Ordner hinzufügen.
OK, auch hier noch ein wenig Details zum Verständnis: Ich schreibe hier immer von mysql-connector-java-5.1.7-bin.jar. Die Dateiendung lautet hier .jar. Und das ist die Abkürzung für Java Archive. Daraus leiten wir dann ab, dass für mysql-connector-java-5.1.7-bin.jar also "Archiv hinzufügen" die geeignete Vorgehensweise ist. Und das hast du ja auch schon festgestellt, entnehme ich jedenfalls deine Erwähnung, dass "Klasse testen" sogar mal funktioniert hat bei dir.

"Ordner hinzufügen" ist etwas ganz anderes. Das ist dann zu wählen, wenn du Java-Klassen über eine Ordnerstruktur zur Verfügung stellen willst.

Das es diese beiden Möglichkeiten gibt ist praktisch, für dich aber unwichtig, da du für den MySQL-JDBC-Treiber immer "Archiv hinzufügen" wählen musst!
NTClient hat geschrieben:Bei Archive hinzufügen habe ich mysql-connector-java-5.1.7-bin.jar direkt ausgewählt. Folge: Bei Treiberklasse steht wieder com.mysql.jdbc.Driver, Klasse testen funktioniert,
Na prima doch!
NTClient hat geschrieben:aber

Communication link failure
Last packet snt to the server was 0ms ago.
Wann genau bekommst du diese Fehlermeldung? Doch wohl nicht bei "Klasse testen", oder? Doch wohl eher bei "Verbindung testen", oder? Das ist doch ganz eine andere Stelle und noch eine Bestätigung, dass zumindest die Einrichtung des MySQL-JDBC-Treibers über "Archiv hinzufügen" funktioniert hat.

Damit ich dir an dieser Stelle noch helfen kann, musst du doch mal ein bisschen mehr an Informationen herausrücken! Was hast du als Datenbankname, Server-URL und Port-Nummer eingetragen? Stimmen der Benutzer und hast du ein Häkchen bei "Passwort verwenden" gemacht? Und welche OOo-Version, welche Java-Version und welches Betriebssystem nutzt du?
NTClient hat geschrieben:Ziemlich kompliziert das Ganze!!
Wo steht geschrieben, dass das ganze einfach sein soll? Für jemanden, der das ganze zum ersten Mal macht, ist es kompliziert.

Und da deine MySQL-DB bei Strato.de läuft, gibt es nicht mal die Gewissheit, dass das ganze überhaupt jemals laufen wird. Aber das schrieb ich ja auch schon!
NTClient
****
Beiträge: 106
Registriert: Di, 19.07.2005 16:09

Re: MySQL-Datenbank (phpMyAdmin mit STRATO) in Base öffnen

Beitrag von NTClient »

Meine Güte, das war aber eine ganze Lektion Nachhilfe. Danke erstamal!

Habe in der Zwischenzeit auch schon etwas weiter rumprobiert. Also gut: Klasse testen hat ja funktioniert. Im "OpenOffice-Base-MySQL-JDBC-Java-Datenbank-Verbindungs-Assistenten" habe ich den Namen der Datenbank eingetragen. Strato vergibt Namen wie "DB123456", Rechnername "rdbms.strato.de", Benutzername "U123456". Das sind Angaben, die ich aus dem Kundenlogin-Bereich von STRATO habe.

Haken bei Kennwort erforderlich gesetzt.
Portnummer 3306 (default)
Verbindungstest gestartet

Laut meiner firewall versucht sofficebin auf das Internet zuzugreifen. Ich erlaube ihm den Zugriff. Dann kommt die Meldung
"Communication link failure Last packet snt to the server was 0ms ago".

Ich weiß wohl dass ich da eher in den STRATO-FAQs was finden sollte. Tu ich aber nicht.

Wenn man einen Webhoster sucht, denkt man ja nicht gleich daran, dass er auch taugliche SQL-Datenbanken liefern können muss.

Übrigens:
Win2k mit OpenOffice3.0
Java Standard Edition 6 Version 1.6.0_03

Wie ist es eigentlich mit dem ODBC-Treiber. Vielleicht sollte ich da mal nachschauen!?

Gruß Bernd!
hol.sten
******
Beiträge: 871
Registriert: Fr, 18.11.2005 21:21

Re: MySQL-Datenbank (phpMyAdmin mit STRATO) in Base öffnen

Beitrag von hol.sten »

NTClient hat geschrieben:Meine Güte, das war aber eine ganze Lektion Nachhilfe. Danke erstamal!
;-)
Hauptsache es hilft!
NTClient hat geschrieben:Habe in der Zwischenzeit auch schon etwas weiter rumprobiert. Also gut: Klasse testen hat ja funktioniert.
Sag ich ja :-)
NTClient hat geschrieben:Im "OpenOffice-Base-MySQL-JDBC-Java-Datenbank-Verbindungs-Assistenten" habe ich den Namen der Datenbank eingetragen. Strato vergibt Namen wie "DB123456", Rechnername "rdbms.strato.de", Benutzername "U123456". Das sind Angaben, die ich aus dem Kundenlogin-Bereich von STRATO habe.

Haken bei Kennwort erforderlich gesetzt.
Portnummer 3306 (default)
Soweit liest sich das, als ob du zumindest in OOo Base alles richtig gemacht hast.
NTClient hat geschrieben:Verbindungstest gestartet

Laut meiner firewall versucht sofficebin auf das Internet zuzugreifen.
Bei sowas nutze ich gerne Tools wie CurrPorts (http://www.nirsoft.net/). Da kann man dann gleich mitlesen, welche Anwendung über welche Ports auf welche (IP-)Adressen zugreifen will. Manchmal ganz interessant.
NTClient hat geschrieben:Ich erlaube ihm den Zugriff. Dann kommt die Meldung
"Communication link failure Last packet snt to the server was 0ms ago".
Ich weiß wohl dass ich da eher in den STRATO-FAQs was finden sollte. Tu ich aber nicht.
Sehr wahrscheinlich ist der Port das Problem. Damit du bei Strato von deiner Webseite auf deinen MySQL-DB zugreifen kannst, verwendest du den Port 3306. Und sehr wahrscheinlich ist dieser Port nur auf dem Webserver freigeschaltet, nicht aber von außen erreichbar, und damit eben auch nicht von OOo Base.

Gibt es nicht sowas wie ein Strato-Forum, wo du mal fragen kannst, ob es überhaupt theoretisch die Möglichkeit gibt, von außen auf eine MySQL-DB zuzugreifen? Also ich meine sowas hier (hab ich ganz einfach mit Google gefunden): Mysql Admin, Strato und Verbindung: http://forum.rootforum.de/viewtopic.php?f=104&t=48359. Liest sich so, als ob DU da noch was bei Strato konfigurieren müsstest (wenn du einen V-Server haben solltest, ob es auch mit anderen Strato-Produkten so klappt, weiß ich nicht). Andererseits kann ich dem Thread entnehmen, dass es bei Strato auch freundliche Mitarbeiter geben soll, die helfen können.

Und dann habe ich noch das hier mit Google im Strato FAQ gefunden: Ist es möglich, über ODBC auf die MySQL-Datenbank zuzugreifen? http://strato-faq.de/view.php4?articlei ... d=&extern=. Liest sich entmutigend. Und ODBC und JDBC werden bezüglich Sicherheit ganz sicher über einen Kamm geschoren. Gehts mit dem einen nicht, gehts auch mit dem anderen nicht.
NTClient hat geschrieben:Wie ist es eigentlich mit dem ODBC-Treiber. Vielleicht sollte ich da mal nachschauen!?
Siehe oben, das bringt gar nichts!
Antworten