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]

Antwort per Email an