Hallo,
Dr.G.Schrefl wrote:
ich möchte aus Javaprgrammen auf Base-Dateien zugreifen.
Wo finde ich einen entsprechenden JDBC oder ODBC Treiber?
Vielen Dank
genau dieses - per JDBC auf OO-Datenbank(en) - wollte ich vor einiger Zeit
machen und wandte mich an diese Liste (müßte im Archiv stehen). ODBC ist
eigentlich nur für Mickey-Mouse-Zwecke, hat bei meinen Arbeiten fast nie
zuverlässig funktioniert.
Das Resultat zum Thema JDBC war in ungefähr so:
Die von OO verwendete Datenbank (Base-Datenbank) ist die in Java geschriebene
Datenbank HSQLDB. Sie wird also OO-intern über JDBC angesprochen (Treiber
liegt OO deswegen bei, s.u.).
Nehmen wir an, eine von Ihnen in OO angelegte Base-Datenbank hieße "Testdb.odb".
Das ist aber, wie die anderen Dateien der verschiedenen Module von OO auch,
nur ein ZIP-Behälter für mehrere eigentliche Inhaltsdateien. D.h. man kommt
von extern an die eigentlichen HSQLDB-Dateien nur über Umwege ran (z.B. wenn
man den Behälter irgendwie mit Javas ZIP-Bibliothek öffnet). Kann man testen,
indem man die "Testdb.odb" mal entpackt und dann die eigentlichen Datenanken-
Dateien von HSQLDB in einem Ordner namens "database" findet.
Weil mir das dann aber zu umständlich war, habe ich eine neue HSQLDB-Datenbank
extern angelegt, also mit irgendeinem JDBC-nutzenden Java-Programm, so daß die
Datenbank-Dateien diesesmal ohne Behälter (".odb") vorlagen. Auf diese
Datenbank bin ich dann von OO aus mittels JDBC-Treiber gegangen (sowie auch
vom eigenen Java-Programm aus).
Der JDCB-Treiber für HSQLDB im OO ist: Openoffice/program/classes/hsqldb.jar
Oder man holt sich einen potentiell neueren Treiber, zusammen mit Doku usw.,
von der HSQLDB-Seite: www.hsqldb.org
Der JDBC-Treibername für die OO-JDBC-Verbindung sowie die eigene
Java-Programm-Verbindung lautet dann:
"org.hsqldb.jdbcDriver"
und die JDBC-URL lautet für Dateizugriff:
"jdbc:hsqldb:file:/Pfad/DbOrdnerName"
oder, falls ein eigener HSQLDB-Server läuft:
"jdbc:hsqldb:hsql://databaseName"
Wenn man eine externe Datenbank verwendet, damit man einfacheren Zugriff hat,
könnte man auch die ab Java 1.6 im JDK enthaltene Apache Derby-Datenbank
verwenden, statt HSQLDB. Qual der Wahl.
Siehe: http://developers.sun.com/javadb/reference/docs/
(ist binär gleich zu http://db.apache.org/derby/ )
Da würden JDBC-Treibername lauten
"org.apache.derby.jdbc.EmbeddedDriver"
und
"jdbc:derby:/Pfad/DbName;URLAttributes"
bzw.
"jdbc:derby:databaseName;URLAttributes"
Näheres siehe Doku, oder hier fragen.
-ric
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]