Zeos zum bearbeiten einer JET und einer SQLite - Datenbank

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Beitrag von mschnell »

Übrigens:
Gibt es zu Zeos eigentlich irgendeine Dokumentation ? Ich finde da nichts. Eigentlich weiß ich auch gar nicht was Zeos eigentlich macht, das über das, was in FPF/Lazarus hinausgeht.

Ich habe in meinem Testprogramm - blöd wie ich bin ein "ZQuery" und eine "ZConnection" von Zeos, aber eine "Datasource", ein "DBGrid" und ein "DBMemo" von Lazarus verwendet.

Keine Ahnung, ob das so sinnvoll war.

-Michael

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6197
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Beitrag von af0815 »

Ein Testprogramm für CSV->SQL Script habe ich hier gerade aufgespielt https://github.com/afriess/LazInfos.

Verwendet die ZEOS-trunk-Komponneten. Ist aber so einfach, das es mit stable auch gehen wird. Ist nur als Demo gedacht.

BTW ADO IMHO geht erst mit ZEOS-trunk.

Anbei die Doxygen generierte Zeos Doku, auch ist einiges im 'documentation' Pfad in Zeos drinnen.

Andreas
Dateianhänge
ZEOS_html.7z
ZEOS Doku im html-format
(1.21 MiB) 51-mal heruntergeladen
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Beitrag von mschnell »

Vielen Dank für die Zeos Doku. Das wird sicher beim Programmieren helfen.

Aber ich würde doch gerne wissen, wozu Zeos überhaupt gut ist....

Ich meine, ich hätte schon vor mehreren Jahren mal einen Test mit Zeos und ADO beschäftigt (ist vielleicht hier im Forum zu finden).

viewtopic.php?f=17&t=6775 von 2013 ->
gocher hat geschrieben:Access Datenbanken haben die Endung .mdb!
Um Zeos mit ADO unter Lazerus zu betreiben um Access nutzen zu können brauchst Du:
eine oledb.pas welche man über Google findet
den Patch: download/file.php?id=1935
Der passende Code aus der LFM-Datei wäre dann:

Code: Alles auswählen

 
  object ZConnection1: TZConnection
    ControlsCodePage = cCP_UTF8
    AutoEncodeStrings = False
    Properties.Strings = ('AutoEncodeStrings=')
    Connected = True
    AfterConnect = ZConnection1AfterConnect
    HostName = ''
    Port = 0
    Database = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\VCO\JT65\InArbeit\HRD_Test\Table1.mdb'
    User = ''
    Protocol = 'ado'
    LibraryLocation = ''
    left = 45
    top = 27
  end


Mit Delphi habe ich 2005 mal "TADOConnection" ausprobiert. Das hat wohl funktioniert... Sowas sollte in Lazarus / Zeos doch verfügbar sein...

Wie komme ich notfalls an die Zeos Trunk-Version ?

-Michael

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6197
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Beitrag von af0815 »

mschnell hat geschrieben:Wie komme ich notfalls an die Zeos Trunk-Version ?

SVN von ZEOS :-)

BTW: SQLdb und ZEOS kann man als gleichwerig betrachten. Aber mir ist die Frage nach dem Sinn von ZEOS noch nicht ganz klar. Schau mal in die LazInfos auf Sourceforge, zumindest die Grundlagenkapitel. Vielleicht wird dann einiges klarer. Oder wir können auch per PN Skype oä ausmachen.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Beitrag von wp_xyz »

Andreas, ich habe mir über die Zeit einige ZEOS-Bookmarks gespeichert, z.B. http://zeos.firmos.at/portal.php. Aber zeos.format.at scheint es seit einiger Zeit nicht mehr zu geben ("Server nicht gefunden"). Hast du vielleicht den aktuellen Link?

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6197
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Beitrag von af0815 »

Es gibt IMHO nur http://zeoslib.sourceforge.net/index.php. Nachdem ZEOS ausgereift ist, gibt es dort relativ wenig neue Nachrichten.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Beitrag von mschnell »

af0815 hat geschrieben:]Aber mir ist die Frage nach dem Sinn von ZEOS noch nicht ganz klar.


Irgendwo sollte doch stehen welche Motivation man hat zum Anbinden einer Datenbank an ein Lazarus (oder Delphi) Projekt das Zeos Paket zu installieren, anstatt die bei Lazarus mitgelieferten Komponenten zu benutzen. Irgendwas muss doch da sein, das die Standard-Lazarus (oder Delphi) - Komponenten nicht bieten.

Das sollte doch in ein paar Worten zu sagen sein (wo es ja offensichtlich keine Zeos- Übersichts - Dokumentation gibt).

Ich habe vor einigen Jahren mal ein Projekt mit SQL-Datenbank in Delphi gemacht. Das ging auch ohne Zeos. Aber vielleicht habe ich da einiges programmieren müssen, was Zeos mir erspart hätte.

-Michael

wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Beitrag von wp_xyz »

Ich denke auch, dass du mit sqldb (ODBCConnection) die Access-Datenbank auslesen kannst, und nicht unbedingt ZEOS benötigst: http://wiki.freepascal.org/MS_Access#File_DSN_contents. Und wenn du nur auf Windows bist müsste auch ADO gehen, allerdings nur mit den nativen Aufrufen, denn die bei Delphi vorhandenen ADO-Komponenten gibt es bei Lazarus nicht.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Beitrag von mschnell »

Danke, xyz, für den Hinweis.

Ich verstehe aber dadurch Zeos immer weniger.

Heißt das, dass ich (unter Windows) die Jet-engine ("Access") Datenbank mit "TODBCConnection" was bei Lazarus standardmäßig vorhanden ist ohne eine zusätzliche ADO-Schicht und ohne Zeos öffnen kann ?

Heißt das, dass ich (unter Windows) die Jet-engine ("Access") Datenbank mit Zeos nur öffnen kann, wenn ich die zusätzliche ADO-Schicht verwende und zusätzlich das ZEOS aus dem SVN nehme, weil die "ADO Komponenten im "offiziellen" Zeos nicht dabei sind ?

Heißt das, dass ich (trotzdem) Zeos verwenden sollte, um die SQLite - Datenbank zu öffnen ?

-Michael

wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Beitrag von wp_xyz »

ZEOS hat m.E. den Vorteil, dass dieselbe SQL-Syntax etc für alle Datenbanksysteme verwendet. Dadurch wird der Umzug auf ein anderes System extrem einfach.

wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Beitrag von wp_xyz »

mschnell hat geschrieben:Heißt das, dass ich (unter Windows) die Jet-engine ("Access") Datenbank mit "TODBCConnection" was bei Lazarus standardmäßig vorhanden ist ohne eine zusätzliche ADO-Schicht und ohne Zeos öffnen kann ?
Ja, muss mal suchen, ob ich ein entsprechendes Beispiel finde, und hänge das dann hier rein

[EDIT] - Ein nicht besonders erleuchtendes Beispiel ist im Anhang.

mschnell hat geschrieben:Heißt das, dass ich (unter Windows) die Jet-engine ("Access") Datenbank mit Zeos nur öffnen kann, wenn ich die zusätzliche ADO-Schicht verwende und zusätzlich das ZEOS aus dem SVN nehme, weil die "ADO Komponenten im "offiziellen" Zeos nicht dabei sind ?

Weiß ich nicht, ich kenne ZEOS nicht so sehr.

mschnell hat geschrieben:Heißt das, dass ich (trotzdem) Zeos verwenden sollte, um die SQLite - Datenbank zu öffnen ?

SQLite3 kannst du direkt mit SQLDB öffnen - siehe auch das Beispiel in dem anderen Thread.
Dateianhänge
Access_ODBC.zip
(11.44 KiB) 57-mal heruntergeladen
Zuletzt geändert von wp_xyz am Do 30. Mär 2017, 12:27, insgesamt 1-mal geändert.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Beitrag von mschnell »

Danke für die Antworten.

Zum Testen habe ich nun in meinem Zeos-Testprogramm eine weiter Datasource "Datasource2" platziert und zusätzlich eine "ODBCConnection1" (ich hatte ja schon "Datasource1" und "ZConnection1"). Ich habe "Datasource1" und "ZConnection1" nie explizit miteinander verbunden. das ist durch die Magie, die anscheinend bei Datenbank-Programmierung herrscht, irgendwie automatisch passiert. Das Programm funktioniert jedenfalls immer noch.

Um nun "Datasource2" und "ODBCConnection1" miteinander zu verbinden habe ich nun nachgeschaut, ob ich im ObjektInspektor in den instanzen von "Datasource1" und "ZConnection1" gegenseitige Verweise finde. Kein Erfolg :(

Ich versuche dann mal das Testprogramm ohne Zeos hinzubekommen.

-Michael

VB_Lazarus
Beiträge: 90
Registriert: Do 23. Dez 2010, 19:10
OS, Lazarus, FPC: Windows 10/11 32/64bit, L 2.2.0 32bit, FPC 3.2.2 32bit
CPU-Target: 32Bit

Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Beitrag von VB_Lazarus »

Hallo,

falls interesse besteht, ich habe mal einen einfachen Converter (MSAccess -> SQLite) für mich gebaut.
Dieser ist speziell auf eine bestimmte Datenbankstruktur ausgelegt.
Aber man kann vielleicht von diesem Code Ideen sammel.

Gruß

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6197
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Beitrag von af0815 »

ZEOS <-> SQLdb

a) ZEOS gibt es für Delphi und Lazarus
-> Zuerst in Delphi auf ZEOS migrieren, dann erst auf Lazarus. Erspart u.U. einiges an Schweiß und Tränen
b) ZEOS war früher wesentlich stabiler als die SQLdb
-> war mein Grund
c) ZEOS ermöglicht den kleinen Delphiversionen die Verwendung von Datenbanken
d) ZEOS unterstützt verschiedene Systeme (fast gleich). Man kann leichter skalieren
-> schon probiert, aber SQLite und MSSQL haben in Details andere Usancen (alleine bei datetime kann man sich graue Haare holen)
e) Das autocommit ist bei ZEOS schon länger drinnen (Delphi kompatilität wahrscheinlich)
f) Doku ist wahrscheinlich bei beiden gleich viel da :-) Viele Dinge sind auch gleich, auch zu den DB-Komponenten von Delphi.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Beitrag von mschnell »

wp_xyz hat geschrieben:[EDIT] - Ein nicht besonders erleuchtendes Beispiel ist im Anhang.

Herzlichen Dank !
-Michael

Antworten