❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Writer zu MySQL per Makros
-
- Beiträge: 3
- Registriert: Mo 17. Dez 2012, 10:44
Writer zu MySQL per Makros
Hallo!
Ich möchte einen im Writer (LO 3.6.4) per Maus markierten Text per Shortcut (Makros-Start) in eine entfernte (gehostete) MySQL 5.1.63-Datenbank schreiben. SSH-Zugang/Root-Zugriff auf den Datenbank Server habe ich nicht, Zugangsdaten schon. Wie mache ich das?
Vielen Dank für alle Ratschläge und Anleitungen und beste Grüße aus Berlin
Eugen
Ich möchte einen im Writer (LO 3.6.4) per Maus markierten Text per Shortcut (Makros-Start) in eine entfernte (gehostete) MySQL 5.1.63-Datenbank schreiben. SSH-Zugang/Root-Zugriff auf den Datenbank Server habe ich nicht, Zugangsdaten schon. Wie mache ich das?
Vielen Dank für alle Ratschläge und Anleitungen und beste Grüße aus Berlin
Eugen
Re: Writer zu MySQL per Makros
Ganz so einfach ist das nicht, Du musst Folgendes machen:
1. eine Base-Datenbank erstellen, die die Verbindungsinformation zur Datenbank herstellt. Diese Datenbank muss in Deiner LO-Installation angemeldet sein (wird eh automatisch gemacht)
2. Brauchst Du ein Makro, das Folgendes macht:
A) markierten Text ermitteln
B) SQL-Statement erstellen mit dem in der Datenbank ein neuer Datensatz angelegt werden kann
C) Verbindung zur Datenbank aufbauen
D) für diese Verbindung ein Statement-Objekt kreieren
E) mit der Methode .ExecuteUpdate des Statement-Objektes das SQL-Statement ausführen
... das war's
... so in etwa
1. eine Base-Datenbank erstellen, die die Verbindungsinformation zur Datenbank herstellt. Diese Datenbank muss in Deiner LO-Installation angemeldet sein (wird eh automatisch gemacht)
2. Brauchst Du ein Makro, das Folgendes macht:
A) markierten Text ermitteln
B) SQL-Statement erstellen mit dem in der Datenbank ein neuer Datensatz angelegt werden kann
C) Verbindung zur Datenbank aufbauen
D) für diese Verbindung ein Statement-Objekt kreieren
E) mit der Methode .ExecuteUpdate des Statement-Objektes das SQL-Statement ausführen
Code: Alles auswählen
'ermittelt den derzeit markierten Text
sText = thiscomponent.currentselection.getbyindex(0).String
'verpackt den markierten Text in ein SQL-insert-Statement
sSQL = "Insert into Tabellenname (ID, Textfeld) values (null, '" & sText & "');"
'Stellt die Verbindung zur Datenbank her:
oDatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
oDataSource = oDatabaseContext.getByName("Datenbankname_wie_sie_in_LO_registriert_ist")
oInteractionHandler = createUnoService("com.sun.star.sdb.InteractionHandler")
oConnection = oDataSource.ConnectWithCompletion(oInteractionHandler)
'erstellt das SQL-Statement
oStatement= oConnection.createStatement
'fuehrt das Insert aus:
oStatement.executeUpdate(sSQL)

g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
-
- Beiträge: 3
- Registriert: Mo 17. Dez 2012, 10:44
Re: Writer zu MySQL per Makros
Vielen Dank! Nur noch eine Frage, bevor ich mich in die Materie eintauche:
Ich muss eigentlich in eine entfernte, im Web gehostete MySQL-Datenbank schreiben. Wie ist die Verbindung der Base-Datenbank, die in meiner LO-Installation angemeldet ist, und der entfernten MySQL-Datenbank? Soviel ich verstanden habe, in der Erklärung geht alles um die Base-Datenbank, oder? Muss ich erst alles in die lokale Base-Datenbank einfügen und erst dann in die entfernte MySQL transferieren?
Danke und Gruß
Eugen
Ich muss eigentlich in eine entfernte, im Web gehostete MySQL-Datenbank schreiben. Wie ist die Verbindung der Base-Datenbank, die in meiner LO-Installation angemeldet ist, und der entfernten MySQL-Datenbank? Soviel ich verstanden habe, in der Erklärung geht alles um die Base-Datenbank, oder? Muss ich erst alles in die lokale Base-Datenbank einfügen und erst dann in die entfernte MySQL transferieren?
Danke und Gruß
Eugen
Re: Writer zu MySQL per Makros
Die Base-Dateim ist nur dazu da die Verbindungsinformation zu speichern, d.h. das Erstellen und Warten der Datenbank sollte immer über die entsprechende Software (wird meist vom Anbieter bereitgestellt, MyPHPAdmin etc.) erfolgen.
Zuerst solltest Du mal testen wie gut Base mit diesem Webserver zusammenarbeitet, und welcher Treiber sich da am besten eignet - Remote-Datenbanken "im Internet" haben darüberhinaus auch die Eigenschaften die Verbindung alle paar Sekunden zu droppen - d.h. man hat in der Regel immer nur einen "Snapshot", und für fast jede Aktion in der Datenverarbeitung muss neu conneted werden. Ist etwas mühsam, aber wenn man mal die entsprechenden Funktionen hat, läuft's eigentlich.
Mein Tip:
1. Erstelle mal eine Tabelle in der DB, dann ...
2. sammelst Du folgende Verbindungsinformationen:
Datenbankname (z.B.: DB_065822)
Server (z.B.: mysql.webserver.com)
Benutzername
Passwort
die Java-Treiberklasse heisst normalerweise: "com.mysql.jdbc.Driver"
3. Du musst in LO einen Classpath zu dem Java-Archiv, oder dem Java-Ordner festlegen, sonst kann der Treiber nciht gefunden werden.
4. Erstellst Du eine neue Base Datei, mit "Verbindung zu einer bestehenden Datenbank" ... schau in diese 2 Links, da sollte genug Info drin sein um mal den einen oder anderen Fuß auf den Boden zu bekommen:
http://www.libreoffice-forum.de/viewtop ... =10&t=6524
http://www.tu-chemnitz.de/urz/anwendung ... mysql.html
Kleiner Tipp: Die Buttons "Verbindung testen" bzw. "Klasse testen" sollten funktionieren
Zuerst solltest Du mal testen wie gut Base mit diesem Webserver zusammenarbeitet, und welcher Treiber sich da am besten eignet - Remote-Datenbanken "im Internet" haben darüberhinaus auch die Eigenschaften die Verbindung alle paar Sekunden zu droppen - d.h. man hat in der Regel immer nur einen "Snapshot", und für fast jede Aktion in der Datenverarbeitung muss neu conneted werden. Ist etwas mühsam, aber wenn man mal die entsprechenden Funktionen hat, läuft's eigentlich.
Mein Tip:
1. Erstelle mal eine Tabelle in der DB, dann ...
2. sammelst Du folgende Verbindungsinformationen:
Datenbankname (z.B.: DB_065822)
Server (z.B.: mysql.webserver.com)
Benutzername
Passwort
die Java-Treiberklasse heisst normalerweise: "com.mysql.jdbc.Driver"
3. Du musst in LO einen Classpath zu dem Java-Archiv, oder dem Java-Ordner festlegen, sonst kann der Treiber nciht gefunden werden.
4. Erstellst Du eine neue Base Datei, mit "Verbindung zu einer bestehenden Datenbank" ... schau in diese 2 Links, da sollte genug Info drin sein um mal den einen oder anderen Fuß auf den Boden zu bekommen:
http://www.libreoffice-forum.de/viewtop ... =10&t=6524
http://www.tu-chemnitz.de/urz/anwendung ... mysql.html
Kleiner Tipp: Die Buttons "Verbindung testen" bzw. "Klasse testen" sollten funktionieren

g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
-
- Beiträge: 3
- Registriert: Mo 17. Dez 2012, 10:44
Re: Writer zu MySQL per Makros
Vielen Dank ! Damit kann ich schon mal ordentlich loslegen. ich werd die Fortschritte berichten.
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.