GELÖST LibreOffice Base mit int. & ext. HSQL-DB unter Linux!

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: GELÖST LibreOffice Base mit int. & ext. HSQL-DB unter Linux!

Re: LibreOffice Base mit int. & ext. HSQL-DB unter Linux_gel

von herz4 » Mi, 28.08.2013 09:47

Danke Robert!

Re: LibreOffice Base mit int. & ext. HSQL-DB unter Linux nut

von RobertG » Di, 27.08.2013 20:31

Hallo herz4,

schreibe einfach in den ersten Beitrag im Titel "Gelöst" hin. Da wirst Du jetzt sowieso nicht den Bock zu haben zu untersuchen, ob die 3.5, die vermutlich auch noch die interne von Ubuntu war, da einen Fehler hatte. Wichtig ist, dass das vom Prinzip her läuft. Hast Du die 4.1 über Deine Repositories bezogen oder von der LO-Seite direkt?

Du kannst getrost alles, was mit der 3.5 zusammenhängt, deinstallieren. Allerdings lassen sich die Versionen auch parallel betreiben - sofern Du das willst. Die 3er-Reihe hat dafür ein separates Verzeichnis, in dem die Nutzereinstellungen gespeichert sind. Bei mir ist das Ganze im Homeverzeichnis unter .config/libreoffice einmal als Verzeichnis "3" (alle 3-er-Versionen), einmal als "4" (alle 4er-Versionen) und dann noch als "4-suse" (die Intsartallation aus den SuSE-Quellen) verzeichnet.

Gruß

Robert

Re: LibreOffice Base mit int. & ext. HSQL-DB unter Linux nut

von herz4 » Di, 27.08.2013 18:17

Hallo Robert und F3K Total,
nachdem ich zur JavaRE von Sun 1.6.0_27 noch von Oracle 1.7.0_25 hinzugefügt hatte und auch damit keinen Erfolg mit Base ext+int hatte, installierte ich LO4.1.0.4 und siehe da, jetzt gehts.
Unter LO4.1 läuft es ohne Makro, reicht wenn der Pfand zur entsprechenden HSQLDB.jar im content.xml eingetragen ist, was ja schon gegeben war.
Nun habe ich ein neues Problem. Mein Linux hat zwei LO - 3.5 und eben 4.1. Ich würde gern 3.5 runterschmeißen. Muss ich dazu alle seine Teile(?!) entfernen oder geht das irgendwie einfacher?
Ferner: ist das in dem Thread beschriebene Problem als gelöst zu markieren? Ich kann nicht mit Bestimmtheit sagen, dass LO3.5.7.2 nicht das Gewünschte leistet, noch das Gegenteil!?
Mit bestem Gruß, herz4

Re: LibreOffice Base mit int. & ext. HSQL-DB unter Linux nut

von herz4 » Di, 27.08.2013 11:07

Ich habe keinen Classpath gesetzt und werde mich um Java kümmern! :?

Re: LibreOffice Base mit int. & ext. HSQL-DB unter Linux nut

von F3K Total » Mo, 26.08.2013 19:37

Hi,
herz4 hat geschrieben:"error in script file line: 1 Unexpected token UNIQUE, requires COLLATION in statement [SET DATABASE UNIQUE]", welche mich weiterhin argwöhnen lässt, es wird unverändert der HSQLBD 1.8 - der interne - Treiber genutzt.
Hast Du unter Extras/Optionen/Java-> keinen Classpath gesetzt, wie ich bereits einmal geschrieben habe?
F3K Total hat geschrieben:Ein globaler Classpath (Extras/Optionen...Java) darf nicht eingetragen sein.
Gruß R

Re: LibreOffice Base mit int. & ext. HSQL-DB unter Linux nut

von RobertG » Mo, 26.08.2013 17:59

Hallo herz4,

mit Linux Mint 13 hast Du eine Version, die sogenannten Langzeitsupport bis April 2017 ermöglicht. Soweit ich das weiß geht es da aber eher um Sicherheitsfixes als um neuere Versionen von Einzelprogrammen. Das ganze basiert ja auf den entsprechenden Ubuntu-Pakten 12/04. Von Ubuntu habe ich wenig Ahnung, aber auch dort wird es sicher gesonderte Repositories geben, die für Leute gedacht sind, die gerne auch einmal über den (eigentlich als stabil gedachten) Tellerrand schauen. Vor allem für Java würde ich da einmal nachsehen, ob es nicht ein anderes Paket gibt.
Ich habe einmal hier geschaut:
https://wiki.ubuntu.com/PrecisePangolin ... ntuDesktop. Da steht zu Java, dass unterschiedliche Versionen zur Verfügung stehen:
The default run time for Java is OpenJDK 6b24 (IcedTea 1.11.1). OpenJDK 7u3 (IcedTea 2.1) is available in the archive as well.
Gruß

Robert

Re: LibreOffice Base mit int. & ext. HSQL-DB unter Linux nut

von herz4 » Mo, 26.08.2013 12:47

Hallo Robert,
abermals danke ich Dir, zudem für die schnelle Hilfe. :)
Wie wohl unschwer zu erkennen ist, bin ich Linux-Neuling, weshalb es länger dauern dürfte, bis ich Deinen Anregungen gänzlich folgen kann ...
(Ich dachte, Linux-Update - innerhalb der Distribution - wird automatisch gemacht?!)
Ich melde mich hier wieder, wenn ich Up-to-date bin; bis dahin lasse ich hier noch "Aktenzeichen xyz ungelöst" - oder?
Mit bestem Gruß
Herz4

Re: LibreOffice Base mit int. & ext. HSQL-DB unter Linux nut

von RobertG » Mo, 26.08.2013 12:05

Hallo herz4,

wenn [SET DATABASE UNIQUE] nicht ausgeführt werden kann, dann kann es sich nicht um die 2.3 handeln, die auf die Dateien der 2.3 zugreifen will.
Wenn Du sogar Meldungen bezüglich einem "fatal error" aus Deiner JRE bekommst, dann würde ich zuerst einmal der Ursache nachgehen.

LO 3.5 ist Anfang letzten Jahres raus gekommen. Die JRE, die Du installiert hast, ist auch recht alt. Gibt es Da für Deine Distribution kein Update?

Gruß

Robert

Re: LibreOffice Base mit int. & ext. HSQL-DB unter Linux nut

von herz4 » Mo, 26.08.2013 10:13

Nochmals Danke Robert und F3K Total,
ich bedaure, Eure Hilfen reichten für mein Verständnis noch nicht, sowohl per (geändertem) Makro als auch per Erweiterung FreeHSQLDB. Bei letzterem wird mir auch immer zutreffender hsqldb.jar-Treiber angezeigt, dennoch nicht genutzt! Immer gleiche Fehlerausschrift: "error in script file line: 1 Unexpected token UNIQUE, requires COLLATION in statement [SET DATABASE UNIQUE]", welche mich weiterhin argwöhnen lässt, es wird unverändert der HSQLBD 1.8 - der interne - Treiber genutzt. Dies bestätigt ein Löschen des .properties-files mit anschließendem Öffnen der .odb: hernach ist ein neues .properties-file geschrieben, dessen erste Zeile HSQL 1.8(!) ausweist.

Kann die Ursache etwa im anhängenden "Anwendungsprotokoll"(?) zu finden sein, welches mutmaßlich beim Booten des Linux-Systems erstellt wird. Da wird auf einen Java-Fehler hingewiesen:
A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x003fdba2, pid=2171, tid=3077761024
#
# JRE version: 6.0_27-b27
# Java VM: OpenJDK Client VM (20.0-b12 mixed mode, sharing linux-x86 )
# Derivative: IcedTea6 1.12.6
# Distribution: Ubuntu 12.04 LTS, package 6b27-1.12.6-1ubuntu0.12.04.2
# Problematic frame:
# C [libuno_cppu.so.3+0x18ba2] uno_type_isAssignableFromData+0x8430 ... (Ende vom Auszug des Anfangs!)

(Ich schaffte es nicht, die etwa 80kB große Log-Datei anzuhängen.)

Im Anhang ein Auszug aus der content.xml-Datei, die Bestandteil der odb-Datei ist. Auch dort wird der richtige - HSQL 2.3 - Treiber zugewiesen.

Ich freute mich weiter sehr über Hilfe!
Dateianhänge
content.odt
Auszug aus content.xml
(15.23 KiB) 219-mal heruntergeladen

Re: LibreOffice Base mit int. & ext. HSQL-DB unter Linux nut

von F3K Total » So, 25.08.2013 11:20

Moin,
RobertG hat geschrieben:Das Makro ist hier natürlich die elegantere Lösung ...
Da möchte ich noch einmal die o.a. Extension empfehlen. Damit kann man innerhalb eines Dialoges alle notwendigen Einstellungen komfortabel vornehmen, siehe Bild:
FreeHSQLDB.png
FreeHSQLDB.png (13.5 KiB) 9905 mal betrachtet
Gruß R

Re: LibreOffice Base mit int. & ext. HSQL-DB unter Linux nut

von RobertG » So, 25.08.2013 10:09

Hallo herz4,

ich habe den Hinweis von F3K Total aufgegriffen und gleich das Makro wieder ausgeschaltet. Es reicht, das Makro einmal aufzurufen, wenn Du die *.odb-Datei gestattet hast (Extras → Makros → Makro ausführen). Dann macht es auch wohl mehr Sinn, das Makro gar nicht erst in die Bibliothek der *.odb-Datei einzubauen, sondern separat unter "Meine Makros" abzuladen.
Genau genommen brauchst Du nicht einmal ein Makro, wenn Du aus der gepackten *.odb-Datei die Datei content.xml anpasst:

Code: Alles auswählen

<db:data-source-settings>
<db:data-source-setting db:data-source-setting-is-list="false" db:data-source-setting-name="JavaDriverClass" db:data-source-setting-type="string">
<db:data-source-setting-value>org.hsqldb.jdbcDriver</db:data-source-setting-value>
</db:data-source-setting>
<db:data-source-setting db:data-source-setting-is-list="false" db:data-source-setting-name="JavaDriverClassPath" db:data-source-setting-type="string">
<db:data-source-setting-value>file:///home/robby/public_html/hsqldb_test/hsqldb.jar</db:data-source-setting-value>
</db:data-source-setting>
</db:data-source-settings>
Dies mit dem entsprechenden Pfad in die Datei eingebaut ergibt dann eine Verbindung zu dem externen Java-Treiber.

Das Makro ist hier natürlich die elegantere Lösung ...

Gruß

Robert

Re: LibreOffice Base mit int. & ext. HSQL-DB unter Linux nut

von herz4 » So, 25.08.2013 08:37

Danke Robert und F3K Total,
Ihr gebt mir eine ganze Menge neuer Impulse, die ich übernehmen und testen will. Bisher rief ich das Startmakro beim Öffnen anstatt wie Ihr beim Ereignis "Laden des Dokuments beendet" auf, ferner nahm ich ThisDatabaseDokument anstatt ThisComponent. Bei mir wird dieses Probieren wahrscheinlich erst am Montag gehen. Ich hoffe, dann kann ich den Thread als gelöst markieren! :D

Re: LibreOffice Base mit int. & ext. HSQL-DB unter Linux nut

von F3K Total » Fr, 23.08.2013 21:57

Hallo zusammen,
Ich kann Roberts Erkenntnisse nur bestätigen. Auch ich habe interne 1.8er parallel zu externen 2.3 ern laufen.
Ein globaler Classpath (Extras/Optionen...Java) darf nicht eingetragen sein. Mit Villeroys FreeHSQLDB-0.2.1.oxt Extension kann man die Verbindung zur 2.3er hsqldb.jar leicht setzen.
EDIT: Gerade habe ich es auch unter Linux ausprobiert. Wenn ich FreeHSQLDB-0.2.1.oxt verwende, darf ich die Extension unter Linux Mint nur für mich und nicht für alle User installieren, denn der Classpath wird in der Extension in der Basic-Library gespeichert, und es gibt eine Fehlermeldung wenn man dort keine Schreibrechte hat, was bei einer Installation für alle User der Fall ist.
RobertG hat geschrieben:Das Makro habe ich anschließend bei
Extras → Anpassen → Ereignisse → Laden des Dokuments beendet
starten lassen.
Das ist gar nicht nötig, wenn der Classpath einmal eingetragen ist, wird er im .odb Dokument gespeichert.
Gruß R

Re: LibreOffice Base mit int. & ext. HSQL-DB unter Linux nut

von RobertG » Fr, 23.08.2013 18:57

hallo herz4,

ich habe das jetzt doch einmal durchgetestet. Da ich keine exteren Datenbank bisher hatte, habe ich eben schnell eine interne erstellt, hierin eine Tabelle ohne Inhalt und dann nach der Beschreibung im Handbuch in eine externe Datenbank umgewandelt. Dazu habe ich zuerst einmal den externen jar-file in den class-path eingebunden. Der Kontakt zur externen Datenbank klappte. Anschließend den jar-file wieder aus dem Pfad raus genommen. Ich habe einen Datensatz eingegeben und anschließend das Makro aus Deiner Quelle übernommen und etwas angepasst.

Code: Alles auswählen

Sub Start
	Const cPath = "/home/robby/public_html/hsqldb_test/hsqldb.jar"
	DIM oDataSource AS OBJECT
	DIM oSettings AS OBJECT
	DIM sURL AS STRING
	sURL = ConvertToURL(cPath)
	oDataSource = ThisComponent.DataSource
	oSettings = oDataSource.Settings
	oSettings.JavaDriverClassPath = sURL
End Sub
Ich musste das etwas durchformatieren, da das einfach kopierte Makro einen Error bei der Zeile oDataSource auswarf - irgendein nicht lesbares Zeichen, das störte. Nachdem ich dort schon einmal die Tabulatoren neu gesetzt habe, habe ich auch gleich die Variablen umgeschrieben.
Bei meinem Rechner liegt der Pfad in meinem Verzeichnis (/home/robby) und dort weiter im Verzeichnis public_html/hsqldb_test.
Dann habe ich das Makro bei geöffneter Datenbankdatei gestartet und konnte auf die Tabelle zugreifen.
Das Makro habe ich anschließend bei
Extras → Anpassen → Ereignisse → Laden des Dokuments beendet
starten lassen.
Klappte auch.
Und jetzt den Nageltest mit einer neuen internen Datenbank. Die konnte ich erstellen. Ich konnte auch Daten eingeben. Ich konnte sie auch schließen und wieder öffnen, auch direkt nacheinander, ohne dass es irgendwelche Einflüsse gab, die plötzlich für Fehler sorgten.
Beide Datenbanken habe ich noch an einer anderen LO-Version durchlaufen lassen - keine Probleme.
Fazit: Es geht ohne weiteres, die interne Datenbank laufen zu lassen und extern mit einer völlig anderen hsqldb.jar eine andere Datenbank laufen zu lassen. Nur gewusst wie.
Jetzt musst Du allerdings immer noch suchen, warum das bei Dir nicht so hin haut.

Gruß

Robert

Re: LibreOffice Base mit int. & ext. HSQL-DB unter Linux nut

von herz4 » Do, 22.08.2013 22:50

Danke, Robert, für die schnelle Meldung. Also ich habe jetzt noch nicht meine spärlichen Englischkenntnisse verwandt um den beschriebenen Bug Deines Links zu verstehen.
Nur so viel: unter win xp ist das Problem durch die in meinen Links beschriebenen Makros gelöst. Ich kann dort tatsächlich in einer Instanz von Base eine interne DB öffenen und noch während die geöffnet ist in einer weiteren eine externe mit einem weiteren - abweichenden - Java-HSQLDB-Treiber, so z. B. auch den neuesten 2.3. Das funzt supi!

Nun will ich aber langsam auf ein freies und weniger "beobachtetes" Betriebssystem umsteigen mit freier Software. Da fiel mir nichts besseres ein als eben Linux mit Office-Paket. Die Distribution, die ich nahm, liefert mir den von mir gewünschten "Luxus" nicht gratis - ich muss "feintunen" und bin als Neuer überfordert.

Im verlinkten, englischspachigen Forum scheint es mir, als ob die sehr passable Lösung von DACM, Sliderule, Villeroy etc. gerade auch auf Linux-Stationen läuft. Mir fällt es nur mit meinem schwachen Schulenglisch schwer, die komplizierte Chose dort zu beschreiben ...

So hoffe ich in den nächsten Tagen noch auf Hilfe hier ..., schönen Abend.

Nach oben