Automatisierte Datenbankeinträge über C++

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

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

Re: Automatisierte Datenbankeinträge über C++

Beitrag von pmoegenb »

Hallo Julian,
in Base ist die Datenbank HSQLDB (http://hsqldb.org/) integriert. Es dürfte schwierig sein (wenn überhaupt) auf die interne Datenbank, die in einer .odb-Datei gespeichert wird, mit einem Drittprogramm zu zugreifen.
Verwende doch dafür eine externe Datenbank wie SQLite oder Firebird Embedded (beide sind kostenlos) und greife jeweils mittels ODBC auf die Datenbank zu.
Gruß

Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
pmoegenb
********
Beiträge: 4330
Registriert: Di, 22.06.2004 12:02
Wohnort: 71134 Aidlingen
Kontaktdaten:

Re: Automatisierte Datenbankeinträge über C++

Beitrag von pmoegenb »

Hallo Julian,

SQLite (http://www.sqlite.org/download.html) ist eine kleine schnelle Datenbank. Diese wird u. a. von Firefox und Thunderbird benutzt. Mit dem SQLite-Manager für den Firefox (kostenloses Add-ons) kannst Du eine SQLite-Datenbank erstellen und verwalten. ODBC-Treiber werden, ebenfalls kostenlos, im WWW angeboten. Einfach mal googeln. SQLite ist allerdings nicht multiuserfähig.

Nach der Installation eines ODBC-Treibers wird für externen Zugang (Entwicklungsumgebung, OOo etc.) die Konfiguration bei Windows über Systemsteuerung/Verwaltung/Datenquellen (ODBC) erstellt. Windows bringt schon einige ODBC-Treiber mit. Weitere Unterstützung erlangst Du bei Datenquellen (ODBC) durch kurze Hinweistexte oder der Online-Hilfe.

Sollte die Ansprüche steigen, wäre allerdings Firebird Embedded geeigneter, da Du bei dieser Datenbank einfach auf den Firebird-DB-Server wechseln kannst.
Gruß

Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
pmoegenb
********
Beiträge: 4330
Registriert: Di, 22.06.2004 12:02
Wohnort: 71134 Aidlingen
Kontaktdaten:

Re: Automatisierte Datenbankeinträge über C++

Beitrag von pmoegenb »

justjulian hat geschrieben:Hallo Peter,
vielen Dank für die Erklärungen. Ich habe mich inzwischen mal eingearbeitet und es sieht schon ganz gut aus.
Ein paar Fragen sind allerdings schon aufgekommen:
- OpenOffice kann anscheinend bei meinen Einstellungen nicht mit Umlauten umgehen. Da kommen immer Fehlermeldungen, wenn auch nur eine Spalte einen Umlaut hat. Aber beim Erstellen der Datenbank mit dem Firefox Addon gehts einwandfrei. Nur in OpenOffice dann nicht mehr. Ich verwende den ODBC sqlite3 Treiber. Da gibts noch einen ODBC sqlite UTF8 Treiber. Sollte ich lieber den nehmen oder wo kann ich das richtig einstellen?
- Ich will ja auch wie bereits beschrieben einen Plot als PDF speichern und Rohdaten als txt. Wie mache ich das am geschicktesten? Einfachen einen Pfad zu der Datei in der Datenbank speichern? Oder was macht eigentlich dieser BLOB Typ? Das hab ich noch nicht ganz verstanden. Kann ich auch den dazu verwenden?
- Kennst Du das Tool "SQLite2009 Pro Enterprise Manager" (http://osenxpsuite.net/?xp=3&uid=managementtools) bzw. hast Erfahrungen damit? Denn ich bin nicht so 100prozentig zufrieden mit dem Firefox Addon. Vielleicht gibts ja was besseres....
Hallo Julian,
wenn der Zeichensatz in der Datenbank UTF8 ist, muss auch der ODBC-Treiber für UTF8 geeignet sein. M. W. kann OOo mit UTF8 umgehen. UTF8 wurde eingeführt, nach dem in Ansi nicht alle internationalen Zeichen darstellbar sind.
Welche Daten als BLOB-Typ aufnehmbar sind weiß ich bei SQLite nicht, BLOB-Typ kann m. W. Grafiken und Memos aufnehmen. Dies ist aber von Datenbank zu Datenbank unterschiedlich.
Wie Du Dein Vorhaben mit C++ verwirklichen kannst, kann ich Dir leider nicht sagen. Ich arbeite mit der Entwicklungsumgebung Delphi. Wenn ich Daten an Drittprogramme übergeben muss, dann übergebe ich diese als .txt- oder .csv-Datei, d.h., die Daten werden vom Programm in der Datenbank gelesen und als .txt- oder .csv-Datei ausgegeben.
SQLite2009 Pro Enterprise Manager kenne ich nicht, aber Dank Deines Links habe ich gelesen, dass auch eine kostenlose Variante zu haben ist.
Gruß

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