BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> 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

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Heiner_Steffi
Beiträge: 1
Registriert: Di 2. Feb 2021, 23:15

Möglichkeit - Zugriff auf LiebreOffice Datenbank mittels perl und ODBC

Beitrag von Heiner_Steffi » Mi 3. Feb 2021, 12:47

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

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Möglichkeit - Zugriff auf LiebreOffice Datenbank mittels perl und ODBC

Beitrag von RobertG » Mi 3. Feb 2021, 17:58

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
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

Wanderer
Beiträge: 895
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Möglichkeit - Zugriff auf LiebreOffice Datenbank mittels perl und ODBC

Beitrag von Wanderer » Mi 3. Feb 2021, 21:08

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;
...
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.
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 ...
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.
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???
...
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_Mode
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 ❤️

Antworten