Seite 1 von 1
speichervorgang in mysql speichern
Verfasst: Mi 11. Sep 2013, 09:54
von horald
Hallo zusammen,
ich bin neu hier und hoffe ich finde hier die gewünschte Hilfe. Mein Problem: Ich möchte meine Dokumentenverwaltung automatisieren. Dafür habe ich eine Mysql-Tabelle angelegt, wo alle Einträge zum Dokument drin stehen: Dateiname, Pfad, Autor, Erstellungsdatum etc. Nun möchte ich dies beim Speichern eines Dokuments automatisch in meine Mysql-Tabelle speichern. Geht das überhaupt oder muss ich mir ein eigenes Makro schreiben. Und wie ermittle ich die benötigten Angaben von LibreOffice Write. Danke für Eure Hilfe.
viele Grüße Horst
Re: speichervorgang in mysql speichern
Verfasst: Mi 11. Sep 2013, 10:55
von horald
Hallo zusammen,
einen Teil kann ich mir schon selber beantworten. Man kann den Speichervorgang einem Makro zuordnen:
- Extras/Anpassen/Ereignisse:
Ereignis = Dokument sichern
zugewiesene Aktion: Zuweisen: Makro: (eigenes Makro zuweisen)
Jetzt müsste ich nur noch wissen wie ich im Makro die Angaben zum Dokument ermittle. Und das Ganze dann in eine Mysql-Tabelle schreibe. Vielen Dank.
viele Grüße Horst
Re: speichervorgang in mysql speichern
Verfasst: Mi 11. Sep 2013, 13:24
von horald
Hallo zusammen,
jetzt habe ich auch gefunden wie man Daten in eine Mysql-Tabelle schreibt. Dazu muss man über Libreoffice Base erst mal eine Datenbankverbindung einrichten. Dies habe ich unter dem Namen "jpmysql" gespeichert.Dazu braucht man den mysql-connector. Wie man dies einrichtet habe ich unter
http://www.gebi101.lima-city.de/ gefunden. Allerdings steht dies bei meiner Version nicht unter "java" sondern unter "erweitert". Und beim Class-Pfad muss ich die Archiv-Datei hinzufügen, da der connector bei mir als jar-Datei vorliegt. Dann ändere ich das Makro wie folgt:
Code: Alles auswählen
Sub Main
Dim Context
Dim DB
Dim Conn
Dim Stmt
Dim strSQL As String
query="INSERT INTO tbldocman_brfverkehr (fldbez,fldantwdat,fldan_ind,fldstatus,fldfilename) VALUES ('dokument neu','2013-09-11',0,'','')"
msgbox "query=" & query
'Stellt die Verbindung zur Datenbank her:
Context=CreateUnoService("com.sun.star.sdb.DatabaseContext")
DB=Context.getByName("jpmysql")
Conn=DB.getConnection("root","geheim")
Stmt=Conn.createStatement()
Stmt.executeUpdate(query)
Conn.close()
msgbox "Fertig!"
End Sub
Jetzt muss ich nur noch rausfinden, wie ich die Dokumentenangaben ermittle. Vielleicht verrät mir das ja jemand in der Zwischenzeit.
Viele Grüße Horst
Re: speichervorgang in mysql speichern
Verfasst: Mi 11. Sep 2013, 13:43
von horald
Hallo zusammen,
ich hab die Lösung. Manchmal muss man ein Frage stellen um dann selbst auf die Lösung zu kommen

Die Lösung steht im openoffice-Wiki, muss ich jetzt nur etwas an Libreoffice anpassen:
openoffice-wiki
Dann nutze ich die Gelegenheit gleich um etwas Werbung für meine eigenes Open Source Projekt zu machen, für welches ich das Ganze brauchte:
Auf meiner Seite:
horald-Joorgportal
Direkt unter Sourceforge:
Sourceforge-Joorgportal
Danke an den interessierten Leser.
viele Grüße Horst