Advantage TDataSet Descendant for Linux

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Ralf
Beiträge: 65
Registriert: Mi 29. Jan 2014, 18:31
OS, Lazarus, FPC: Ubuntu 20.04 LTS (L 2.0.6 FPC 3.3.1)
CPU-Target: 64Bit

Advantage TDataSet Descendant for Linux

Beitrag von Ralf »

Hallo Leute,
nach einem Jahr Abstinenz, habe ich mal wieder die Lust verspürt, mich erneut mit Lazarus zu beschäftigen.
Nach wie vor hege ich den Wunsch, Plattformunabhängig zu entwickeln, zumindest für Windows und Linux (gfs. noch Mac und Android).
Nicht zuletzt deswegen stellt sich also die Frage nach dem richtigen RDBMS, was alleine schon ein recht umfangreiches Thema ist.

Was gibt es überhaupt an DB-Systemen und was leisten diese generell?
Diese Fragen konnte ich mir weitgehend anhand des sehr ausführlichen Übersicht in Wikipedia ( http://en.wikipedia.org/wiki/Comparison ... nt_systems ) beantworten.
Für mich kam dabei PostgresSQL, SQLite oder Advantage Database Server (ADS) in die engere Auswahl.
Mit letztgenannten hatte ich bereits vor über 10 Jahren unter Delphi (Version 4 und 7) sehr gute Erfahrungen gemacht, weil es einfach zu handhaben und zu distributieren war (einfach die DLLs in das Programmverzeichnis beim Anwender kopieren/installieren). Dabei gibt es zwei Varianten. Der Server ist NICHT frei und wird kommerziell vertrieben, "Advantage TDataSet Descendant" ist dagegen local und auch kostenlos, allerdings auf 5 gleichzeitige User-Zugriffe begrenzt (bei einer Single-Anwendung eh kein Thema). Der Vorteil hiermit war (ist), dass ADS die schnellste aller (damaligen) DB-Lösungen war und unkompliziert in der Weitergabe. AUCH die integrierte Volltextsuche ist nicht zu verachten und verschlüsseln kann man seine Daten damit bei Bedarf auch noch. Nette Feature.

ALLERDINGS habe ich ADS noch nicht unter Lazarus für Linux ans Laufen, respektive installiert bekommen.
Weder unter der 32 Bit Lazarus-IDE (1.0.10 unter Kubuntu 14.04 32 Bit), noch mit Codetyphon 5.1 (64 Bit IDE unter VirtualBox mit Kubuntu 14.04.4 64 Bit).

Mit Lazarus 1.26 unter Win7 ist das kein Problem. ADS ist dort schnell installiert und funktioniert auch sofort. :)

Meine Frage hier nun, wer von Euch hat ADS unter Linux (Lazarus oder Typhon) installieren können?

Der "alte" ADS-Experte und Buch-Autor Joachim Dürr wurde ebenfalls von SAP übernommen und beschäftigt sich nun dort scheinbar nicht mehr mit ADS bzw. reagiert er nicht mehr auf Anfragen zu diesen Themen. Eigentlich schade... andererseits auch verständlich, dass SAP nicht kostenlosen Support für Hobbyprogrammierer leisten will.....
Wie auch immer... da werden Sie jedenfalls nicht mehr geholfen. :(

Wer was weiß, bitte melden.

PostgresSQL ist mir in der Weitergabe etwas zu kompliziert (wie installiere ich es beim Endanwender automatisch?) und SQLite leistet meiner Einschätzung nach nicht so viel (Stabilität bei BLOBs in der DB, Volltextsuche, etc.)

Für Feedback dankbar und viele Grüße,
Ralf
Zuletzt geändert von Ralf am Mo 5. Jan 2015, 10:24, insgesamt 1-mal geändert.
Kubuntu 20.04 LTS


Ralf
Beiträge: 65
Registriert: Mi 29. Jan 2014, 18:31
OS, Lazarus, FPC: Ubuntu 20.04 LTS (L 2.0.6 FPC 3.3.1)
CPU-Target: 64Bit

Re: Advantage TDataSet Descendant for Linux

Beitrag von Ralf »

creed steiger hat geschrieben:hilft das?

http://devzone.advantagedatabase.com/dz ... _linux.htm



Danke für den Link.
Den kannte ich schon und bin auch so verfahren. Leider habe ich so ADS nicht installieren können, weswegen ich auch nachfragen wollte, ob das überhaupt schon wer (unter Linux) im Einsatz hat.
Kubuntu 20.04 LTS


Ralf
Beiträge: 65
Registriert: Mi 29. Jan 2014, 18:31
OS, Lazarus, FPC: Ubuntu 20.04 LTS (L 2.0.6 FPC 3.3.1)
CPU-Target: 64Bit

Re: Advantage TDataSet Descendant for Linux

Beitrag von Ralf »



Hallo creed steiger,

es hängt an dieser Stelle erst mal an der Libc (siehe Screenshot).

Ich habe schon folgendes alles probiert:
1. In meinen normalen (Host, Arbeitsdesktop) Kubuntu 14.04 32 Bit Lazarus (32 Bit) aus den Quellen (1.0.10) installiert und darin (nach Anweisung, siehe auch Dein Link) "ADS für Lazarus" installiert. Es fehlte hier auch die Libc.
2. Neues VirtualBox Gastsystem mit Kubuntu 14.04 64 Bit aufgesetzt, darin CodeTyphon 5.1 installiert und das als Typhon64 konfiguriert. Dann wieder erneut "ADS für Lazarus" installiert. Er meckerte dieses mal über was anderes (finde gerade nicht den Screen, da ich hier einige Test-Gastsysteme habe und nicht mehr weiß wo ich den liegen habe :wink: ), ging jedenfalls auch nicht. Dann fiel mir ein, dass da auf den ADS-Seiten was von "32Bit only" stand und habe noch ein Gastsystem aufgesetzt.
3. Wieder Kubuntu, dieses mal 32 BIT und darin wieder CodeTyphon (auch 32 Bit) installiert und erneut ADS und dieses mal wieder das selbe wie bei meinen ersten Versuch mit (altem) Lazarus (1.0). Libc fehlt.
Die CodeTyphon Installationen habe ich auch unterschiedlich konfiguriert und ausprobiert.... ohne Erfolg.

Dann wollte ich wissen, ob das überhaupt noch läuft und habe die aktuellste Lazarus 1.26 64 Bit (siehe Screen) unter Win7 (64) installiert und ADS dort noch mal installiert.
Siehe da, geht.

Unter Linux ging es nicht mit Lazarus 32bit, nicht mit CodeTyphon 32 Bit oder CodeTyphon 64 Bit.

Mein Plan/Wunsch ist, dass ich unter Linux mit Lazarus (oder CodeTyphon) mein Programm mit dem RDBMS meiner Wahl als Linux- und als Windows-Programm kompilieren kann (cross compile).
Wie gesagt war der große Vorteil (damals) mit ADS, dass man nur die DLL's in Programmverzeichnis mit ausliefern musste und die DB lief und das auch noch recht performant. Allerdings damals Windows only.
HEUTE bin ich auf dem Linux-Tripp und würde daher auch gerne dafür mit meinen Programmen kompatible sein.... was allerdings scheinbar immer noch ein Traum zu bleiben droht... :(

Deswegen meine ursprüngliche Frage, ob überhaupt wer ADS unter Linux im Betrieb hat.

Vielleicht ist es auch wieder einmal nur den Wald vor lauter Bäumen nicht sehen....? :roll:

Viele Grüße,
von Ralf
Dateianhänge
Unter Win7 64 Bit mit Lazarus 1.26 gehts.
Unter Win7 64 Bit mit Lazarus 1.26 gehts.
Unter Linux gehts nicht.
Unter Linux gehts nicht.
Kubuntu 20.04 LTS

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Advantage TDataSet Descendant for Linux

Beitrag von theo »

LibC gibt's nicht für 64bit. http://wiki.freepascal.org/libc_unit

Schmeiß es doch aus der "uses" raus, und versuche die fehlenden Funktionen zu ersetzen.

Memset kann man z.B. vllt. mit FillChar ersetzen.

Ralf
Beiträge: 65
Registriert: Mi 29. Jan 2014, 18:31
OS, Lazarus, FPC: Ubuntu 20.04 LTS (L 2.0.6 FPC 3.3.1)
CPU-Target: 64Bit

Re: Advantage TDataSet Descendant for Linux

Beitrag von Ralf »

theo hat geschrieben:LibC gibt's nicht für 64bit. http://wiki.freepascal.org/libc_unit

Schmeiß es doch aus der "uses" raus, und versuche die fehlenden Funktionen zu ersetzen.

Memset kann man z.B. vllt. mit FillChar ersetzen.



Habe ich auch irgendwo gelesen, deshalb habe ich es ja auch mit 32 Bit versucht... doch da kommt die selbe Meldung. :(
Auskommentieren will ich das nicht, weil das ein Faß ohne Boden werden kann und ich dann auch nicht mehr bei Updates so einfach dabei bin....

Hast Du es im Einsatz?
Kubuntu 20.04 LTS

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Advantage TDataSet Descendant for Linux

Beitrag von theo »

Ralf hat geschrieben:Auskommentieren will ich das nicht, weil das ein Faß ohne Boden werden kann und ich dann auch nicht mehr bei Updates so einfach dabei bin....

Diese Haltung verstehe ich nicht. Ich würde das schon rein aus Interesse ausprobieren.

Ralf hat geschrieben:Hast Du es im Einsatz?

Nein, ich habe keine Ahnung davon.

Ralf
Beiträge: 65
Registriert: Mi 29. Jan 2014, 18:31
OS, Lazarus, FPC: Ubuntu 20.04 LTS (L 2.0.6 FPC 3.3.1)
CPU-Target: 64Bit

Re: Advantage TDataSet Descendant for Linux

Beitrag von Ralf »

theo hat geschrieben:
Ralf hat geschrieben:Auskommentieren will ich das nicht, weil das ein Faß ohne Boden werden kann und ich dann auch nicht mehr bei Updates so einfach dabei bin....

Diese Haltung verstehe ich nicht. Ich würde das schon rein aus Interesse ausprobieren.

Ralf hat geschrieben:Hast Du es im Einsatz?

Nein, ich habe keine Ahnung davon.


"Diese Haltung" habe ich, weil ich meine Zeit nicht in etwas versenken wollte, wenn es eh nicht funktioniert... DESWEGEN diese Nachfrage.
Scheint ja niemand unter Linux im Einsatz zu haben, obwohl es prinzipiell eine gute DB-Engine ist.

Wenn mit ADS unter Linux hier keiner Erfahrungen hat (oder nicht darüber sprechen mag), werde ich das natürlich noch testen... jedoch glaube ich nicht daran, dass dies alles ist, was anzupassen wäre...
Kubuntu 20.04 LTS

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Advantage TDataSet Descendant for Linux

Beitrag von theo »

Einer ist immer der Erste. :wink:

Tatsache ist, dass libc ein Relikt aus Borland Kylix Tagen ist, und für Freepascal/Lazarus durch entprechende Funktionen ersetzt werden sollte.
Vielleicht ist der Rest gar nicht so problematisch.

creed steiger
Beiträge: 957
Registriert: Mo 11. Sep 2006, 22:56

Re: Advantage TDataSet Descendant for Linux

Beitrag von creed steiger »

alternativ könntest du ja mal bei Sybase/SAP im Forum fragen
hmm das wird auch wenig weiterhelfen
http://dicas4lazarus.blogspot.de/2010/0 ... t-for.html

Ralf
Beiträge: 65
Registriert: Mi 29. Jan 2014, 18:31
OS, Lazarus, FPC: Ubuntu 20.04 LTS (L 2.0.6 FPC 3.3.1)
CPU-Target: 64Bit

Re: Advantage TDataSet Descendant for Linux

Beitrag von Ralf »

theo hat geschrieben:Einer ist immer der Erste. :wink:

Tatsache ist, dass libc ein Relikt aus Borland Kylix Tagen ist, und für Freepascal/Lazarus durch entprechende Funktionen ersetzt werden sollte.
Vielleicht ist der Rest gar nicht so problematisch.


Nun, das ist leider nicht soooo einfach (für mich zumindest ;) ) danke dennoch für das Feedback.
Das hatte ich schon mitbekommen, das Libc depricated ist. Doch was nützt mir das, wenn die Macher von ADS (Sybase, respektive SAP) das dennoch im Source stehen haben und ich noch nicht so fit darin bin, das mal eben abzufangen? :shock:

Hatte schon überlegt, mir eine Libc.pas selbst zu basteln, doch dafür wäre nützlich zu wissen, was denn da so alles drin war (in der alten Kylix Libc)... Hat die vielleicht jemand zufällig?

Ich habe jedenfalls mal an einigen Stellen Libc auskommentiert und die anschließend reklamierten Memset's wie von Dir vorgeschlagen durch FillChar's ersetzt (ob richtig, weiß ich auch noch nicht, zumindest hat der Compiler schon mal nicht gemeckert 8) ).
Doch es geht wohl nicht nur um Memset(), sondern auch was mit Thread's (siehe Screenshot).... was auch in der Libc war (ThreadId zurück geben usw.).

Es ist nicht meine Faulheit / Ungeduld (klar, auch ich habe davon jede Menge :wink: ), sondern ich traue mir das schlicht nicht zu, so eine mächtige Engine umzuprogrammieren bzw. anzupassen. Bin erst gerade nach ein paar Jahren Pause wieder angefangen ....
Ich bin froh, wenn ich (relativ) stabile Libraries ordentlich benutzen kann, bzw. verstehe, was ich da mache oder machen muss. ;-)

Ich ertappe mich schon wieder bei den ersten Gedanken dazu, was ich denn nun anstatt ADS verwenden könnte.... oder ob ich meine hoch gesteckten Linux-Ambitionen lieber schon direkt aufgebe...
Unter Windows löppt das ja, bzw. läßt sich da das ADS-Packet problemlos in Lazarus installieren.

Blieben SQLite als leicht zu distributierende Lösung (kann jedoch nicht, was ADS kann, für die Performance habe ich noch kein Gefühl) oder PostgresSQL, wobei ich hier nicht weiß, wie schwierig damit eine automatische Installation beim Endanwender hinzubekommen ist.....
Ich möchte (viele) Blobs speichern und eine Volltextsuche haben.... also die DB-Engine ist da schon ein sehr wichtiger Part meiner Pläne.
Jaja.... wer keine Probleme hat, fängt mit solchen Projekten bzw. Überlegungen an... :D

Grüße,
von Ralf
Dateianhänge
... bringt neue Überraschungen...
... bringt neue Überraschungen...
mal auskommentiert ...
mal auskommentiert ...
Kubuntu 20.04 LTS

Ralf
Beiträge: 65
Registriert: Mi 29. Jan 2014, 18:31
OS, Lazarus, FPC: Ubuntu 20.04 LTS (L 2.0.6 FPC 3.3.1)
CPU-Target: 64Bit

Re: Advantage TDataSet Descendant for Linux

Beitrag von Ralf »

creed steiger hat geschrieben:alternativ könntest du ja mal bei Sybase/SAP im Forum fragen
hmm das wird auch wenig weiterhelfen
http://dicas4lazarus.blogspot.de/2010/0 ... t-for.html


Hatte ich übersehen, als ich schon geschrieben habe... ;-)

Cool, lerne ich eben noch Spanisch (oder ist das Portugiesisch?) 8)
Kubuntu 20.04 LTS

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Advantage TDataSet Descendant for Linux

Beitrag von theo »

Ralf hat geschrieben:Cool, lerne ich eben noch Spanisch (oder ist das Portugiesisch?) 8)


Portugiesisch (Brasilien).

Ralf
Beiträge: 65
Registriert: Mi 29. Jan 2014, 18:31
OS, Lazarus, FPC: Ubuntu 20.04 LTS (L 2.0.6 FPC 3.3.1)
CPU-Target: 64Bit

Re: Advantage TDataSet Descendant for Linux

Beitrag von Ralf »

theo hat geschrieben:
Ralf hat geschrieben:Cool, lerne ich eben noch Spanisch (oder ist das Portugiesisch?) 8)


Portugiesisch (Brasilien).



Ahja... wenn es mehr nicht ist :lol:

Danke jedoch für den (nahe liegenden) Tipp, mal in dem ADS-Forum zu fragen. Hätte da auch drauf kommen können, jedoch weiß ich aus alten Erfahrungen, dass die dort kaum Linux-Ambitionen (Ahnung) haben und auch nicht die besten Freunde mit den Open Source Lagern sind... um das mal diplomatisch aus zu drücken. Die halten nur Delphi / C und Windows für Zukunftsweisend und daher professionell. Jedoch bin ich offen und weiß, dass sich das ja nach Jahren geändert haben könnte. :wink:

Schauen wir mal... ansonsten gibt es natürlich auch noch andere Lösungen.... die gibt es ja schließlich immer, gell. :lol:
Kubuntu 20.04 LTS

Antworten