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