Hallo liebe Forums-Menschen
ich stehe vor dem Problem einige Zugriffe in einer LibreOffice Datenbank zu automatiseren (reine private Angelegenheit und DB ist auch nicht so gross ...)
Ich muss gestehen, habe schon lange nix mehr mit Datenbanken gemacht, weiss aber es ging ganz einfach
mittels perl und ODBC (perl ist MEINE Scriptsprache fuer schlell und schmutzige Anwendungen )
Ich habe dies "früher" mit MySQL, Oracle, SyBase ... und auch mit Microsoft Access gemacht (obwohl ich jetzt gerade an einem Linux-Rechner sitze)
für MS Scess ging es ungefähr so:
# percode:
use DBI;
my $dbh = DBI->connect('dbi:ODBC:driver=Microsoft Access Driver (*.mdb, *.accdb);dbq=[path to mdb file]') or die "\nCan't connect to Access database: " .
$DBI::errstr;
# perl -end code
nun ist ja das *.mdb Format schon etwas kompatibel zum *.odb Format ....
Warum geht dies mit LibreOffice nicht?
Ich habe kreuz und quer gesucht - ABER nix gefunden ...
Klar zur Nor muss ich jetzt Phyton lernen oder mich mit Basic auseinandersetzen - oder das Ganze schließlich doch auf ne
MySQL transferieren - da gibt es wieder Nutzer*innen-Bedenken
ABER schoen ist das ALLEs nicht - warum kann LibreOffice weniger als MS Access???
Danke und Gruesse Stefanie
BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Möglichkeit - Zugriff auf LiebreOffice Datenbank mittels perl und ODBC
-
- Beiträge: 1
- Registriert: Di 2. Feb 2021, 23:15
Re: Möglichkeit - Zugriff auf LiebreOffice Datenbank mittels perl und ODBC
Hallo Stefanie,
standardmäßig hast Du bei Base eine interne HSQLDB. Die ist in dem entsprechenden Päckchen als ungeschützte 1-Benutzer-Datenbank enthalten. Du gibst Deine Daten komplett mit der Datenbank weiter.
Von außen kannst Du darauf nicht zugreifen. Dazu musst Du die Datenbankdatei erst einmal öffnen, dann muss die interne Datenbank gestartet werden usw. Das geht innerhalb von LibreOffice z.B. für Serienbriefe im Writer oder für die Datenverbindung nach Calc.
Wenn ein Zugriff von außen möglich wäre, dann würde diesen Dateien schon von vornherein ein ganz wichtiges Element fehlen: Der Passwortschutz.
Du brauchst zwangsläufig eine externe HSQLDB. So etwas lässt sich aus der internen leicht erstellen, nur gibt es da schnell das Versionsproblem. Die interne DB ist uralt, die aktuellen HSQLDB-Versionen würden also einmal die Daten öffnen und ein Zurück in die Interne Datenbank wäre dann nicht mehr möglich.
MSAccess ist über die JetEngine für eine Multiuser-Umgebung ansprechbar. Und genau dies geht eben bei Base nicht.
Ich würde die Daten in eine MariaDB legen. Ist unter Linux ein Klacks. Da kannst Du Dann mit Perl drauf zugreifen wie Du lustig bist und lässt die Base.odb ebenfalls auf die Daten zugreifen.
Gruß
Robert
standardmäßig hast Du bei Base eine interne HSQLDB. Die ist in dem entsprechenden Päckchen als ungeschützte 1-Benutzer-Datenbank enthalten. Du gibst Deine Daten komplett mit der Datenbank weiter.
Von außen kannst Du darauf nicht zugreifen. Dazu musst Du die Datenbankdatei erst einmal öffnen, dann muss die interne Datenbank gestartet werden usw. Das geht innerhalb von LibreOffice z.B. für Serienbriefe im Writer oder für die Datenverbindung nach Calc.
Wenn ein Zugriff von außen möglich wäre, dann würde diesen Dateien schon von vornherein ein ganz wichtiges Element fehlen: Der Passwortschutz.
Du brauchst zwangsläufig eine externe HSQLDB. So etwas lässt sich aus der internen leicht erstellen, nur gibt es da schnell das Versionsproblem. Die interne DB ist uralt, die aktuellen HSQLDB-Versionen würden also einmal die Daten öffnen und ein Zurück in die Interne Datenbank wäre dann nicht mehr möglich.
MSAccess ist über die JetEngine für eine Multiuser-Umgebung ansprechbar. Und genau dies geht eben bei Base nicht.
Ich würde die Daten in eine MariaDB legen. Ist unter Linux ein Klacks. Da kannst Du Dann mit Perl drauf zugreifen wie Du lustig bist und lässt die Base.odb ebenfalls auf die Daten zugreifen.
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Möglichkeit - Zugriff auf LiebreOffice Datenbank mittels perl und ODBC
Das kannst Du ja auch weiterhin machen, nur ist LibreOffice ja nicht nur eine Datenbank. Du kannst also nicht auf LibreOffice zugreifen, sondern nur auf dieselben Datenbanken wie Libre-Office.Heiner_Steffi hat geschrieben: ↑Mi 3. Feb 2021, 12:47...
use DBI;
my $dbh = DBI->connect('dbi:ODBC:driver=Microsoft Access Driver (*.mdb, *.accdb);dbq=[path to mdb file]') or die "\nCan't connect to Access database: " .
$DBI::errstr;
...
Wo hast Du das denn gefunden? Die Konverter, die ich kenne lesen auch nur über die odbc-Schnittstellle die Daten einer Datenbank und schreiben Sie über den nächsten Treiber in die Zieldatenbank.nun ist ja das *.mdb Format schon etwas kompatibel zum *.odb Format ....
Warum geht dies mit LibreOffice nicht?
Ich habe kreuz und quer gesucht - ABER nix gefunden ...
Musst Du nicht. Als Perlmeister dürfte es Dir leicht fallen LibreOffice via Socket von Perl aus zu steuern. Für den Einstieg https://wiki.openoffice.org/wiki/Docume ... ening_ModeKlar zur Nor muss ich jetzt Phyton lernen oder mich mit Basic auseinandersetzen - oder das Ganze schließlich doch auf ne
MySQL transferieren - da gibt es wieder Nutzer*innen-Bedenken
ABER schoen ist das ALLEs nicht - warum kann LibreOffice weniger als MS Access???
...
Kennst Du ja sicher alles von MS-Access.
Egal ob ich Deinen Beitrag längs oder kreuz und quer lese, verstehe ich wirklich nicht, was Du wirklich programieren willst und wo die Daten liegen sollen. Neben MySQL wäre ja auch noch SQLite eine lokale Option und MySQL/MariaDB können sowohl lokal wie auch im Netz laufen.
Im Zweifelsfall kannst Du auch csv-Dateien mit LibreOffice Base als Datenbank lesen da kann dann perl zur Hochform auflaufen.
Mfg, Jörn
PS: Ich fand es auch immer lästig, dass verschieden benannte Programme wie perl und awk nicht dasselbe machen wie rexx. Aber das dürfte sich so schnell nicht ändern.
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit
An alle, die das LibreOffice-Forum nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️