Seite 1 von 2
Exportvorlagen automatisieren
Verfasst: Sonntag 8. März 2020, 12:43
von hagenmann
Hallo,
- Ich habe verschiedene csv Vorlagen zum exportieren erstellt, die ich dann in unserer Nextcloud den Zuständigen die verschiedene Aufgaben haben, zur verfügung stelle.
Ich würde gerne den Export automatisieren. z.B. wenn der Kassierer JVerein schließt z.B. in Dos oder Powershell.
Hat da einer eine Idee.
- Gibt es eine Möglichkeit Skripte zu starten wenn Jamaica geschlossen wird?
Viele Grüße
Siegfried
Re: Exportvorlagen automatisieren
Verfasst: Donnerstag 12. März 2020, 10:05
von hagenmann
Hallo,
Ich habe versucht auf die H2 Datenbank per Shell zuzugreifen.
Der Login auf die Hibiscus Hatenbank geht.
java -cp C:\Nextcloud-kch\JVerein-Kopie\Programm\jameica\lib\h2\h2-1.4.197.jar org.h2.tools.Shell -url "jdbc:h2:C:\Nextcloud-kch\JVerein-Kopie\Profil\hibiscus\h2db\hibiskus;CIPHER=XTEA" -user hibiscus -password "Mein-Passwort= Mein-Passwort="
Auf die JVereindatenbank geht leider nicht.
java -cp C:\Nextcloud-kch\JVerein-Kopie\Programm\jameica\lib\h2\h2-1.4.197.jar org.h2.tools.Shell -url "jdbc:h2:C:\Nextcloud-kch\JVerein-Kopie\Profil\jverein\h2db\jverein;CIPHER=XTEA" -user jverein -password "jverein= jverein="
Dann könnte ich mir weiter ein Skript basteln das mit select bestimmte Daten aus einer bestimmten Tabelle zieht.
-Writing a CSV File from Within a Database
The built-in function CSVWRITE can be used to create a CSV file from a query. Example:
CREATE TABLE TEST(ID INT, NAME VARCHAR);
INSERT INTO TEST VALUES(1, 'Hello'), (2, 'World');
CALL CSVWRITE('test.csv', 'SELECT * FROM TEST');
Kann mir einer Helfen
Grüße
Siegfried
Re: Exportvorlagen automatisieren
Verfasst: Samstag 14. März 2020, 08:57
von NicoB77
Hallo Siegried,
Du musst ";CIPHER=XTEA" weglassen, dann sollte es funktionieren. Ich verwende stattdessen ";IFEXISTS=TRUE;ACCESS_MODE_DATA=r", um nicht versehentlich Daten zu verändern.
Viele Grüße
Reinhard
Re: Exportvorlagen automatisieren
Verfasst: Samstag 14. März 2020, 20:10
von hagenmann
Hallo Reinhard,
Danke für den Hinweiß.
Aber wenn ich ";CIPHER=XTEA" weg lasse geht das Login nicht. Siehe Anhang
Ich komme mitlerweile auf die Jverein Datenbank. Siehe Anhang
java -cp Y:\JVerein\Programm\jameica\lib\h2\h2-1.4.199.jar org.h2.tools.Shell -url "jdbc:h2:Y:\JVerein\Profil\jverein\h2db\jverein.mv.db;CIPHER=XTEA" -user hibiscus -password "jverein= jverein="
Was ich nicht verstehe, das der Benutzername hibiscus ist.
Bei Openoffice und DBeaver ist der Benutzername und Passwort für die Datenbank jverein
Mein Script sollte villeicht so aussehen
java -cp Y:\JVerein\Programm\jameica\lib\h2\h2-1.4.199.jar org.h2.tools.Shell -url "jdbc:h2:Y:\JVerein\Profil\jverein\h2db\jverein.mv.db;CIPHER=XTEA" -user hibiscus -password "jverein= jverein="
CALL CSVWRITE('c:\Mitgliederadressen.csv', 'SELECT NAME, VORNAME FROM public.mitglied');
hast du eine IDEE warum es bei mir nicht geht!
Geht bei dir dann das Anzeigen der Tabelle select name from PUBLIC.MITGLIED; ?
viele Grüße
Siegfried
Re: Exportvorlagen automatisieren
Verfasst: Montag 16. März 2020, 12:32
von Danzelot
Hallo Siegfried,
bist du dir sicher, dass der User "hibiscus" heißt?
Im Standard ist es "jverein". Wie z.B. hier beschrieben
LibreOffice mit JVerein verbinden.
Ich denke, dann sollten deine Probleme gelöst sein.
Gruß
Danzelot
Re: Exportvorlagen automatisieren
Verfasst: Montag 16. März 2020, 21:47
von hagenmann
Hallo,
In LibreOffice kann ich mich mit der Datenbank mit dem Username und Pa jverine verbinden.
Deshalb finde ich es merkwürdig, das dieses hier nicht geht.
Wenn ich aber als Username Hibiscus nehme geht es, wie du im Anhang siehst.
Dann kommt immer Wrong user or password
Da ich aber auf keine Tabelle komme muss das wohl falsch sein.
Ich habe leider keine Idee mehr, da ich schon seit 4 Tagen am probieren bin.
Viele Grüße
Siegfried
Re: Exportvorlagen automatisieren
Verfasst: Montag 16. März 2020, 22:13
von NicoB77
Hallo Siegfried,
Du musst die Endung .mv.db weglassen. Dadurch hast Du beim ersten Aufruf mit dieser Endung eine neue, leere Datenbank erzeugt. Benutzer und Passwort sind auch bei diesem ersten Aufruf gesetzt worden. Die folgende Variante sollte funktionieren:
Code: Alles auswählen
java -cp Y:\JVerein\Programm\jameica\lib\h2\h2-1.4.199.jar org.h2.tools.Shell -url "jdbc:h2:Y:\JVerein\Profil\jverein\h2db\jverein;IFEXISTS=TRUE;ACCESS_MODE_DATA=r" -user jverein -password jverein
Die Endung
ist nicht nötig, aber sie verhindert, dass Deine Skripte die Datenbank ändern oder eine neue angelegt wird, wenn sie noch nicht existiert.
Viele Grüße
Reinhard
Re: Exportvorlagen automatisieren
Verfasst: Montag 16. März 2020, 22:58
von hagenmann
Hallo Reinhard,
Super das klappt. Das ist super.
Ich kann mir nun auch den Inhalt einzelner Tabellen anschauen. select name, vorname from PUBLIC.MITGLIED;
Ich möchte nun aus der Tabelle Mitglied z.B. Namen und Vornamen als csv oder xls Exportieren.
CALL CSVWRITE('c:\test.csv', 'SELECT NAME,VORNAME FROM PUBLIC.MITGLIED');
Das schlägt aber auf einem Fehler wie du im Bild siehst.
Hast du da eine Idee
Viele Grüße
Siegfried
Re: Exportvorlagen automatisieren
Verfasst: Dienstag 17. März 2020, 18:26
von NicoB77
Hallo Siegfried,
ich vermute, dass Du keine Schreibrechte auf C:\ hast. Du musst für die Ausgabe einen Ordner mit Schreibrechten wählen.
Viele Grüße
Reinhard
Re: Exportvorlagen automatisieren
Verfasst: Dienstag 17. März 2020, 21:11
von hagenmann
Hallo Reinhard,
Das habe ich mir auch schon gedacht, und ein Unterverzeichnis genommen, wo ich volle schreibrechte drauf habe.
Aber das hat auch nichts gebracht.
Mit den Select Befehl kann ich auf jeden Fall mir eine Tabelle anzeigen lassen.
Kannst du den den Befehl bei dir ausführen?
Viele Grüße
Siegfried