Seite 1 von 1

Relativer Pfad zu HSQLDB Split-DB (v5.0.5.2)

Verfasst: So 1. Mai 2016, 15:13
von Geri
Gebe ich bei Database PropertiesDatasource URL den Pfad zu meiner Split-DB relativ zum .odb-Dokument ein:

Code: Alles auswählen

hsqldb:file:database/mydb; ...
oder

Code: Alles auswählen

hsqldb:file:./database/mydb; ...
ist Test Connection erfolgreich. Allerdings sind dann keine DB-Objekte unter Tabellen zu sehen und die Formulare melden beim Öffnen:
SQL Status: HY000
There exists no table named "...".
Gebe ich hingegen einen absoluten Pfad ein, funktioniert alles.

Ist das einen Bug Report wert?

Re: Relativer Pfad zu HSQLDB Split-DB (v5.0.5.2)

Verfasst: So 1. Mai 2016, 17:26
von Freischreiber
Hallo,

woran es hapert, kann ich nicht sagen, aber ich empfehle immer gerne:
- nicht die allerneueste LO-Version zu nehmen, sondern eine stabile (die 4.4.7.2 soll sehr gut sein, siehe
https://wiki.documentfoundation.org/ReleasePlan

- für relative Pfadangaben das Makro, das hier erwähnt wird:
http://www.libreoffice-forum.de/viewtop ... 901#p40328

Viel Erfolg.

Gruß
Freischreiber

Re: Relativer Pfad zu HSQLDB Split-DB (v5.0.5.2)

Verfasst: So 1. Mai 2016, 17:48
von RobertG
Hallo Freischreiber,

wenn ich das Makro richtig deute, so wird dort aber kein relativer Pfad erstellt, sondern eben der Pfad zur *.odb-Datei als absoluter Pfad genommen und um die anderen Einträge ergänzt. Die Datenbank liegt dann in dem Pfad, in dem auch die *.odb-Datei liegt.

Die relative Pfadangabe müsste übrigens mit zwei Punkten beginnen, soweit ich das weiß.

@Geri:
Wo sollte so ein Bugreport hin gehen? An die Leute, die den JDBC-Treiber erstellen? Ich wüsste jedenfalls nicht, ob dazu https://bugs.documentfoundation.org/ die richtige Adresse ist.

Gruß

Robert

Re: Relativer Pfad zu HSQLDB Split-DB (v5.0.5.2)

Verfasst: So 1. Mai 2016, 18:23
von Geri
@Robert
Danke für Deine Antwort.
RobertG hat geschrieben:Die relative Pfadangabe müsste übrigens mit zwei Punkten beginnen, soweit ich das weiß.

@Geri:
Wo sollte so ein Bugreport hin gehen? An die Leute, die den JDBC-Treiber erstellen? Ich wüsste jedenfalls nicht, ob dazu https://bugs.documentfoundation.org/ die richtige Adresse ist.
Zwei Punkte referenzieren das übergeordnete Verzeichnis, ein Punkt das aktuelle.

Ich denke schon, dass das die richtige Adresse ist. Es sollte ja ein Leichtes sein, mit Hilfe des Pfads des aktuellen Dokuments, aus einem relativen einen absoluten Pfad zu kreieren und diesen dann für den Connect an den Treiber zu übergeben. So wie es ja offensichtlich auch bei Test Connection geschieht.

Re: Relativer Pfad zu HSQLDB Split-DB (v5.0.5.2)

Verfasst: So 1. Mai 2016, 19:15
von RobertG
Hallo Geri,

die Pfadangaben, die Du machst, sind Unix-Pfadangaben. Siehe dazu https://de.wikipedia.org/wiki/Pfadname# ... _Pfadnamen

Ich habe hier zur Zeit keine externe HSQLDB und müsste mir erst eine Testumgebung zusammenbauen.

Das, was Du für den Link beschreibst, macht schließlich auch das Makro, das Freischreiber angesprochen hat. Es liest den Pfad der Datei aus und hängt den Datenbankpfad unten an.

Gruß

Robert

Re: Relativer Pfad zu HSQLDB Split-DB (v5.0.5.2)

Verfasst: So 1. Mai 2016, 20:32
von Geri
@Robert
RobertG hat geschrieben:die Pfadangaben, die Du machst, sind Unix-Pfadangaben.

Ich habe hier zur Zeit keine externe HSQLDB und müsste mir erst eine Testumgebung zusammenbauen.
Eigentlich ist es ein URI mit dem Protokoll-Schema hsqldb:file, der einen abstrakten Pfadnamen von java.io.File repräsentiert.</klugscheiß :-> (Unix-Pfade sind hier gerade aus. Ich arbeite im Moment unter Windows. ;))

Musst Du nicht extra deswegen. Ich denke, ich werde die Bug-Report-Option ziehen. Und wenn Du's doch machst, dann kannst Du ja – vermute ich mal – den Bug dort bestätigen. :)

@Freischreiber
Danke für den Makro-Tipp. Werd' mir das mal ansehen.

Re: Relativer Pfad zu HSQLDB Split-DB (v5.0.5.2)

Verfasst: So 1. Mai 2016, 20:53
von RobertG
Hallo Geri,

hat mich jetzt doch interessiert. Der relative Link klappt auch unter Linux nicht. Allerdings klappt es grundsätzlich, den Pfad zum Benutzer (/home/benutzer/) raus zu lassen. starte ich eine Pfadangabe mit zwei Punkten, so wird der Pfad nicht gefunden. Starte ich mit 3 Punkten, so wird mir ein neues Verzeichnis zum Speichern meiner Tabelle in meinem Homeverzeichnis erstellt, das allerdings aus zwei Punkten und dem einen Punkt zum Verstecken des Verzeichnisses gebildet wird.

Gerade habe ich die Variante versucht, einfach direkt das Unterverzeichnis anzugeben - und finde nicht, nach wohin mir die HSQLDB jetzt die eingegebene Tabelle gesichert hat.

Dass eine relative Pfadangabe so nicht möglich ist sehe ich jetzt auch so.

Gruß

Robert

Re: Relativer Pfad zu HSQLDB Split-DB (v5.0.5.2)

Verfasst: Mo 2. Mai 2016, 09:35
von Freischreiber
Hallo Robert,

ja, stimmt, es wird ein absoluter Pfad gebaut: Unter "URL der Datenquelle" steht bei mir "hsqldb:file:///C:\(...)"

Wenn man das Makro als Ereignis (beim Öffnen der Datei) anlegt, verhält sich Base so, als ob es mit relativem Pfad geht. Vermutlich ist das Makro geschrieben worden, weil relative Pfade nicht funktionieren.

Gruß
Freischreiber

Achso: In Windows müssen es wohl innerhalb des URL Backslashes sein, nicht normale: \

Re: Relativer Pfad zu HSQLDB Split-DB (v5.0.5.2)

Verfasst: Mo 2. Mai 2016, 17:22
von RobertG
Hallo *,

ich habe gerade noch einmal etwas ausgetestet und bekomme plötzlich den relativen Pfad ausgegeben:

Code: Alles auswählen

jdbc:hsqldb:file:Medien_Sammlung/medien;default_schema=true;shutdown=true
"Medien_Sammlung" ist bei mir das Verzeichnis unterhalb der *.odb-Datei. "medien" ist der Name der Datenbank. Ich bekomme alle Tabellen angezeigt. Warum das sich gestern anders verhielt kann ich nicht sagen.

Gruß

Robert