Bitte wähle nachfolgend aus, welche Beiträge auf dieser Themenseite auf dem Ausdruck ausgegeben werden sollen. Um dies zu tun markiere bitte die Checkbox auf der linken Seite der Posts, die im Ausdruck berücksichtigt werden sollen und klicke anschließend ganz unten auf der Seite auf den Button "Drucken".

Python-Zugriff auf Jamaica/Hibiscus Datenbank

AlexI

Betreff:

Python-Zugriff auf Jamaica/Hibiscus Datenbank

 ·  Gepostet: 15.04.2020 - 11:03 Uhr  ·  #154859
Hallo,

zunächst möchte ich mich sehr für die Bereitstellung des hervorragenden Hibiscus/Jamaica-Programms bedanken, dass bei mir ist schon einige Jahre problemlos funktioniert. Besten Dank!

Ich habe ihm folgendes entwickelt, was vielleicht auch für andere nützlich sein könnte:
um (Teile der) Kontoauszüge z.B. in Excel weiterverarbeiten zu können, habe ich ein kleines Python-Skript geschrieben, mit dem man die H2-Datenbank, in denen Jamaica die Umsätze speichert, sehr einfach auslesen kann. Die folgenden Zeilen illustrieren das Vorgehen.

Wichtig: es funktioniert auf einem normalen Windows-PC mit Anaconda-Python, jedoch nur mit der Version 3.6 (z.Zt. wohl ein Bug in jaydebeapi.

1) Voraussetzung: Installation JDBC-Treiber JayDeBeApi:
pip install JayDeBeApi

2) Python-Skript:
import jaydebeapi
jarFile1 = r'C:\jameica-win64\jameica\lib\h2\h2-1.4.197.jar' # ANPASSEN!

x1_Datenbank_Treiber_Klasse = "org.h2.Driver"
x2_JDBC_URL = r'jdbc:h2:C:\Users\user\.jameica\hibiscus\h2db\hibiscus;CIPHER=XTEA' # ANPASSEN!
x3_JDBC_Username = 'hibiscus' # findet man in Hibiscus / Über / Datenbank-Informationen
x4_JDBC_Passwort = 'hiernurBeispielPasswort= hiernurBeispielPasswort=' # findet man in Hibiscus / Über / Datenbank-Informationen

conn = jaydebeapi.connect(x1_Datenbank_Treiber_Klasse,
x2_JDBC_URL, [x3_JDBC_Username, x4_JDBC_Passwort], jarFile1,)

import pandas as pd
d1 = pd.read_sql("SELECT * FROM UMSATZ WHERE EMPFAENGER_NAME = 'Beispiel-Empfänger'", conn)
d2 = pd.read_sql("SELECT DISTINCT EMPFAENGER_NAME FROM UMSATZ WHERE ((DATUM > DATE '2020-03-01') AND (DATUM < DATE '2020-04-01'))", conn)

d1.to_clipboard() # nach Excel
conn.close()

hibiscus

Betreff:

Re: Python-Zugriff auf Jamaica/Hibiscus Datenbank

 ·  Gepostet: 15.04.2020 - 11:42 Uhr  ·  #154862
Danke für die Infos. In dem Zusammenhang: Wenn man direkt auf die Datenbank zugreifen will, ist es i.d.R. praktischer, Hibiscus zusammen mit einer MySQL-Datenbank zu verwenden. Die ist leichter zugänglich. Im Wiki unter https://www.willuhn.de/wiki/doku.php?id=support:mysql ist das näher beschrieben.