ODBC - OO?

was sonst nirgends hineinpasst

Moderator: Moderatoren

heyhow
Beiträge: 2
Registriert: Mo, 29.05.2006 21:21

ODBC - OO?

Beitrag von heyhow »

Hallo,

hab folgendes Problem.

Ich möchte mir eine Anwendung schreiben, die mittels ODBC-Schnittstelle auf eine lokale Datenbank zugreift. Als Datenbank möchte ich eine OO-Datenbank nehmen.

Ich hab das bereits mit Microsoft Office gemacht, da kann man sich die ODBC-Verbindung unter Systemsteuerung -> Verwaltung -> ODBC einrichten. Logischerweise geht das nicht für die OO-Datenbanken, da man es ja bei Microsoft Windows einrichtet ;-)

Gibt es die Möglichkeit, bei einer OO-Datenbank auch eine ODBC-Verbindung einzurichten? Wenn ja, wie muss man das machen?

mfg heyhow
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Heyhow,
Ich möchte mir eine Anwendung schreiben, die mittels ODBC-Schnittstelle auf eine lokale Datenbank zugreift. Als Datenbank möchte ich eine OO-Datenbank nehmen.
Gehst du die Aufgabenstellung möglicherweise völlig falsch an? Womit möchtest du denn die Anwendung schreiben? Mit OOo?
OOo ist doch selbst eien Anwendung, die auf eine Datenbank zugreift - ist also quasi das Frontend.
Die derezit eingebaute HSQLDB ist eigentlich nur für die gedacht, die keine "Echte" Datenbank - sprich DBMS - haben und funktioniert somit nur intern.
Natürlich könntest du auch von außen darauf zugreifen - nur wozu?
Brauchst du ne Datenbank - da gibt es doch viele (MySQL, PostgreSQL, ja selbst die HSQLDB ist frei verfügbar) - kannst du dir laden und, installieren und dann direkt via ODBC oder JDBC zugreifen. Wozu brauchst du da OOo - das macht doch auch nichts anderes?

Die in OOo eingebaute und angepasste HSQLDB ist nicht mehr Mehrplatzfähig - über OOo. Da kannst du nicht von außen her zugreifen. Aber du kannst die natürlich die Datenbank unabhängig von OOo laden (-> http://www.hsqldb.org) - und da kannst du dann zugreifen.

Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
pmoegenb
********
Beiträge: 4330
Registriert: Di, 22.06.2004 12:02
Wohnort: 71134 Aidlingen
Kontaktdaten:

Beitrag von pmoegenb »

Hallo heyhow,

nur damit keine Ungereimtheiten entstehen. eine OO-Datenbank gibt es nicht, es gibt lediglich Datenbankdateien.

Die einzige Datenbank die in einer Datenbankdatei von OOo integriert ist, ist die HSQLDB-Datenbank. Ansonsten dient eine OOo-Datenbankdatei lediglich als Beschreibung für Datenbanktyp, Pfad, etc..

Somit erübrigen sich auch ODBC-Treiber für OOo-Datenbankdateien.

Es gibt wohl für HSQLDB einen JDBC-Datenbanktreiber, dieser kann jedoch nur für JAVA eingesetzt werden und das auch nur dann, wenn die HSQLDB-Datenbank extern betrieben wird (vgl. http://hsqldb.org/). Wenn Du die interne HSQLDB-Datenbank verwendest und nur mit OOo darauf zugreifen möchtest, benötigst Du keinen ODBC-Treiber.
Gruß

Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
heyhow
Beiträge: 2
Registriert: Mo, 29.05.2006 21:21

mhm

Beitrag von heyhow »

Ich hatte eigentlich vor, mir eine Java-Applikation zu schreiben, welche dann auf die Datenbank zugreift (eine Art Quiz)

Dazu möchte ich die Fragen des Quiz' in einer Datenbank speichern.

wenn ich eine MS-Access Datenbank nehme, dann könnte ich über die ODBC-Schnittstelle auch innerhalb meines Java-Programms auf die DB zugreifen.

Allerdings habe ich kein "MS-Office". Daher wollte ich das über die OpenOffice DB's lösen.. also, wenn es die denn gibt? *verwirrtsei*

mhm...
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

*verwirrtsei*
Und weshalb? Ich verstehe nicht soviel von der Thematik, aber es sollte doch verständlich sein das:

Access = Datenbank plus Frontend (jedoch Datenbank(engine) nicht einzeln erhältlich)
OOo = Frontend (für verschiedene DB-Engines )plus eine integrierte Engine HSQLDB (alle DB-Engines jedoch auch separat verfügbar)

Zugreifen willst Du nach eigenen Aussagen auf die Datenbanken direkt per Java, wozu also brauchst Du dazu OOo, da alle betreffenden Datenbanken unabhängig von OOo auch einzeln erhältlich sind.
Einzig schiene mir OOo nötig wenn Du beabsichtigen würdest per StarBasic zuzugreifen, aber Du willst doch ohnehin Java verwenden.
also, wenn es die denn gibt?
Nein, die gibt es nicht. OOo verwendet für 'eigene DB' die HSQLDB, die jedoch auch separat erhältlich ist.
Ich habe hier einen Fujitsu-Siemens-Scenic-PC (entspricht i.d.S. 'OOo'), der hat natürlich einen eigenen Prozessor (entspricht i.d.S. 'HSQLBDB'), nur ist der ebend nicht von Siemens sondern von Intel.



Gruß
Stephan
belafon
Beiträge: 2
Registriert: Mo, 24.07.2006 01:45
Wohnort: Stadtprozelten
Kontaktdaten:

Beitrag von belafon »

Stephan hat geschrieben:*verwirrtsei*
Kann ich gut verstehen.
Access = Datenbank plus Frontend (jedoch Datenbank(engine) nicht einzeln erhältlich)
Das stimmt so nicht. Fakt ist, daß auch Access nur ein Frontend ist, daß per Default auf die Microsoft JetEngine zugreift.
OOo = Frontend (für verschiedene DB-Engines )plus eine integrierte Engine HSQLDB (alle DB-Engines jedoch auch separat verfügbar)
Die Architektur scheint sich in soweit nicht sehr zu unterscheiden.

Es stellt sich also eher die Frage, ob für HSQLDB ein ODBC oder JDBC -Treiber erhältlich ist.

Gruß,
Arno
AMenge
**
Beiträge: 30
Registriert: Mi, 25.01.2006 12:35

Re: mhm

Beitrag von AMenge »

heyhow hat geschrieben:Ich hatte eigentlich vor, mir eine Java-Applikation zu schreiben, welche dann auf die Datenbank zugreift (eine Art Quiz)
Hast du mal über eine freie Datenbank wie z.B. MySQL nachgedacht?
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Stephan hat Folgendes geschrieben:
*verwirrtsei*


das habe ich niemals gesagt, bitte sei doch sorgfältiger in Deiner Wahl wem Du welches Zitat zuschiebst
Das stimmt so nicht. Fakt ist, daß auch Access nur ein Frontend ist, daß per Default auf die Microsoft JetEngine zugreift.


damit dürftest Du ziemlich allein dastehen. Es geht hier nicht um Spitzfindigkeiten, sondern darum das Access eine Engine beinhaltet.
Wie kann ich Access ohne DB-Engine installieren(?)
Es stellt sich also eher die Frage, ob für HSQLDB ein ODBC oder JDBC -Treiber erhältlich ist.
dafür sollte sicherlich das HSQLDB-Projekt die richtige Ansprechadresse sein: http://hsqldb.org/ - obwohl es um diese Frage hier garnicht ging. Hier ging es um Zugriff auf die Datenbank in OOo:
Als Datenbank möchte ich eine OO-Datenbank nehmen.
und der ist wie Thomas bereits sagte über OOo möglich. Das geht über die OOo-API, geht wie vom OP gewünscht auch über Java.
Ich sehe darüber hinaus nicht wie es möglich wäre die in OOo integrierte HSQLDB direkt ohne OOo zu betreiben, es sei denn Du installierst sie separat, nur dann hat das Ganze doch mit OOo nichts mehr zu tun, also wieder: http://hsqldb.org/



Gruß
Stephan
belafon
Beiträge: 2
Registriert: Mo, 24.07.2006 01:45
Wohnort: Stadtprozelten
Kontaktdaten:

Beitrag von belafon »

Stephan hat geschrieben:das habe ich niemals gesagt, bitte sei doch sorgfältiger in Deiner Wahl wem Du welches Zitat zuschiebst

Sorry! :oops:
Stephan hat geschrieben:damit dürftest Du ziemlich allein dastehen. Es geht hier nicht um Spitzfindigkeiten, sondern darum das Access eine Engine beinhaltet.
Wie kann ich Access ohne DB-Engine installieren(?)


Keine Ahnung, aber z.B. mit den Entwicklungsumgebungen von MS kann ich die Jet-Engine ohne Access installieren. Das ist doch der entscheidende Punkt!

Gruß,
Arno
pmoegenb
********
Beiträge: 4330
Registriert: Di, 22.06.2004 12:02
Wohnort: 71134 Aidlingen
Kontaktdaten:

Beitrag von pmoegenb »

belafon hat geschrieben: Keine Ahnung, aber z.B. mit den Entwicklungsumgebungen von MS kann ich die Jet-Engine ohne Access installieren. Das ist doch der entscheidende Punkt!
Und was bringt das heyhow ? Die Jet-Engine als Schnittstelle zu Datenbanken ist für Win-Applikationen. heyhow möchte aber eine Java-Applikation schreiben und benötigt dafür JDBC-Treiber, die m. W. nicht Bestandteil der Jet-Engine sind. Eine Datenbank ist in der Jet-Engine ebenso wenig enthalten.

Dagegen ist die Jet-Engine z. B. in MS-Access, SQL-Server oder MDAC enthalten, bzw. seit Windows XP (mindestens PRO-Version) beim Betriebssystem dabei.
Gruß

Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Antworten