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.