Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Umstellung von "Advantage Database Server - ADT" auf "M (https://www.delphipraxis.net/41882-umstellung-von-advantage-database-server-adt-auf-m.html)

microtronx 10. Mär 2005 08:28

Datenbank: noch ADS • Version: 6.2 • Zugriff über: tDATASET

Umstellung von "Advantage Database Server - ADT" a
 
Hallo Newsgroup,

ich möchte meine Projekte, die noch mit den tDATASET Komponenten von Extendsystems (Advantage Database Server) laufen komplett auf MySQL umstellen.

Welche Vorgehensweise würdet Ihr empfehlen? Soll ich direkt Komponenten für MySQL verwerden oder vielleicht besser über ADO oder ODBC arbeiten?

Danke für Tips,

Bernhard Geyer 10. Mär 2005 09:07

Re: Umstellung von "Advantage Database Server - ADT&quo
 
Zitat:

Zitat von microtronx
ich möchte meine Projekte, die noch mit den tDATASET Komponenten von Extendsystems (Advantage Database Server) laufen komplett auf MySQL umstellen.

Wieso umstellen? Wenn Du den DB-Teil gut gekapselt hast, kannst Du auch beide Datenbanken unterstützen.
Ein Ansatz wäre die Datenbank-Schnittstelle per Bridge-Pattern zu kapseln.

Zitat:

Zitat von microtronx
Welche Vorgehensweise würdet Ihr empfehlen? Soll ich direkt Komponenten für MySQL verwerden oder vielleicht besser über ADO oder ODBC arbeiten?

Eindeutig native Komponenten. Damit ersparst Du dir Installationsaufwand und die sogenannte DLL-Hölle.
Alle native Komponenten (MySQL DAC, DAC for MySQL, ZEOS) kommmen maximal mit einer libmysql.dll im Anwendungsverzeichnis aus. Welche die geeigneste ist solltest Du mit eigenen Tests feststellen. Ich würde die Komponenten von Core Labs empfehlen.

microtronx 10. Mär 2005 09:24

Re: Umstellung von "Advantage Database Server - ADT&
 
Zitat:

Wieso umstellen? Wenn Du den DB-Teil gut gekapselt hast, kannst Du auch beide Datenbanken unterstützen.
Ein Ansatz wäre die Datenbank-Schnittstelle per Bridge-Pattern zu kapseln.
Was meinst Du mit Bridge-Pattern?

Wenn das tatsächlich so einfach möglich ist, wäre das natürlich die einfachste und beste Lösung.

lkz633 10. Mär 2005 10:21

Re: Umstellung von "Advantage Database Server - ADT&
 
Hallo,

nimm am besten ADO, einfach alle TADsQuery durch TAdoQuery ersetzen und fertig, wobei dann auch weiterhin ADS funktioniert

Gruss
lkz633

microtronx 10. Mär 2005 10:27

Re: Umstellung von "Advantage Database Server - ADT&
 
ADO bekomme ich hin ... aber was hat es sich mit dem "Bridge-Pattern" auf sich. Hört sich sehr interessant an, konnte hier aber im Forum nichts darüber finden.

Ich bin ja nicht neu in Delphi, also kann ich mir schon so ungefährt vorstellen, was damit gemeint ist: Eine Zwischenschickt zwischen Anwendung und Datenzugriffskomponenten. Alles Zugriffe laufen dann über diese Zwischenschicht ...

* Gibt es dazu irgendein simples Beispiel wie das ganze dann implementiert wird?
* Werden mehrere "Datamodule" angelegt oder wie läufts?

hat hier jemand Erfahrung?

Mfg + Danke

Bernhard Geyer 10. Mär 2005 11:27

Re: Umstellung von "Advantage Database Server - ADT&
 
Zitat:

Zitat von microtronx
ADO bekomme ich hin ... aber was hat es sich mit dem "Bridge-Pattern" auf sich. Hört sich sehr interessant an, konnte hier aber im Forum nichts darüber finden.

Ich bin ja nicht neu in Delphi, also kann ich mir schon so ungefährt vorstellen, was damit gemeint ist: Eine Zwischenschickt zwischen Anwendung und Datenzugriffskomponenten. Alles Zugriffe laufen dann über diese Zwischenschicht ...

* Gibt es dazu irgendein simples Beispiel wie das ganze dann implementiert wird?
* Werden mehrere "Datamodule" angelegt oder wie läufts?

hat hier jemand Erfahrung?

Mfg + Danke

ADO empfehle ich nicht. Du must sonst dafür sorgen das ADO installiert ist und läuft (ab und zu wird auch die ADO-Schnittstelle zerschossen). Auch mußt Du den MyODBC-Treiber installieren (Wenn Du über ODBC weitergehst), einen ODBC-Eintrag anlegen und die Optionen für den ADO-Zugriff richtig konfigurieren.

Kurze Erklärung zu Bridge Pattern

microtronx 10. Mär 2005 11:43

Re: Umstellung von "Advantage Database Server - ADT&
 
1.
Also vergessen wir ADO

2.
Wenn ich das mit dem Brigding richtig verstanden habe, erstelle ich eine von ?? abgeleitete table Komponente, über die ich dann entweder auf ADS oder MYSQL zugreifen kann, oder?

Habe ich einen Denkfehler?

Vielleicht hat jemand einen Codeschnippsel, damit ich besser durchsteige,

Mfg + Danke,

lkz633 10. Mär 2005 12:01

Re: Umstellung von "Advantage Database Server - ADT&
 
Zitat:

Zitat von Bernhard Geyer
ADO empfehle ich nicht. Du must sonst dafür sorgen das ADO installiert ist und läuft (ab und zu wird auch die ADO-Schnittstelle zerschossen). Auch mußt Du den MyODBC-Treiber installieren (Wenn Du über ODBC weitergehst), einen ODBC-Eintrag anlegen und die Optionen für den ADO-Zugriff richtig konfigurieren.

Und wiso nicht direkt über ADO? Was bringt der Umweg über ODBC?

lkz633

Bernhard Geyer 10. Mär 2005 12:41

Re: Umstellung von "Advantage Database Server - ADT&
 
Zitat:

Zitat von lkz633
Und wiso nicht direkt über ADO? Was bringt der Umweg über ODBC?

Direkt über ADO zu gehen erfordert einen installierten ADO-Treiber für MySQL. Und dieser ist nicht so häufig vorinstalliert und auch nur mit Admin-Rechten zu installieren und lößt das Problem der DLL-Hölle auch nicht.

Zu Bridge-Pattern:
Code:
                        Basis-Wrapper-Klasse (Als Interface-Klasse oder direkt nur Interface)
                           
                                 |

ADS-Komponenten -> Wrapper-Klasse für ADS-Komponenten
                      (abgeleitet von Basis-Wrapper)     \
                                                                Zugriffskomponente welche je nach
                                                                Einstellung ADS oder MySQL-Wrapper nimmt
                                                           /
MySQL-Komponenten -> Wrapper-Klasse für MySQL-Komponenten
                      (abgeleitet von Basis-Wrapper)

microtronx 10. Mär 2005 13:01

Re: Umstellung von "Advantage Database Server - ADT&
 
Zitat:

Zitat von Bernhard Geyer
Basis-Wrapper-Klasse (Als Interface-Klasse oder direkt nur Interface) ...

Hallo Bernhard, als erstes mal danke das Du so geduldig erklärst.
Ich hatte bisher mit Interfaceses noch nichts zu tun. Was meinst Du mit "Basis-Wrapper"? Könntest du mir das einem kleinen code-schnipsel z.B. mit einer tADSTable komponente zeigen?

peter12 10. Mär 2005 17:46

Re: Umstellung von "Advantage Database Server - ADT&
 
Hätte andere Frage?
Warum stellst du um auf MySql?
Warum nicht auf Firebird?

peter

microtronx 10. Mär 2005 18:43

Re: Umstellung von "Advantage Database Server - ADT&
 
Zitat:

Zitat von peter12
Hätte andere Frage?
Warum stellst du um auf MySql?
Warum nicht auf Firebird?

Ich habe Kunden die mit Windows Servern arbeiten und ich habe auch Kunden die mit Linux Maschinen arbeiten. Da ich mit PHP-Programmierung viel Erfahrung mit MySQL gesammelt habe, denke ich dass MySQL besser ist.

War eine Entscheidung so aus dem Bauch raus.

Natürlich lasse ich mich, auch vom gegenteil überzeugen, wenn etwas gegen MySQL spricht und etwas für FireBird (ex Interbase) spricht.

Mfg.

Union 10. Mär 2005 20:23

Re: Umstellung von "Advantage Database Server - ADT&
 
Zitat:

Zitat von microtronx
Zitat:

Zitat von peter12
Hätte andere Frage?
Warum stellst du um auf MySql?
Warum nicht auf Firebird?

Ich habe Kunden die mit Windows Servern arbeiten und ich habe auch Kunden die mit Linux Maschinen arbeiten. Da ich mit PHP-Programmierung viel Erfahrung mit MySQL gesammelt habe, denke ich dass MySQL besser ist.

War eine Entscheidung so aus dem Bauch raus.

Natürlich lasse ich mich, auch vom gegenteil überzeugen, wenn etwas gegen MySQL spricht und etwas für FireBird (ex Interbase) spricht.

Mfg.

Mich würde auch interessieren, warum Du überhaupt von ADS weg willst. Irgendwelche Probleme?

microtronx 10. Mär 2005 20:57

Re: Umstellung von "Advantage Database Server - ADT&
 
Zitat:

Zitat von Union
Mich würde auch interessieren, warum Du überhaupt von ADS weg willst. Irgendwelche Probleme?

Nein, wir haben bisher mit ADS keinerlei Probleme. Da meine Kunden aber kleine bis mittelständische Unternehmen sind, ist das eine Kostenfrage.

Union 10. Mär 2005 21:13

Re: Umstellung von "Advantage Database Server - ADT&
 
Zitat:

Zitat von microtronx
Zitat:

Zitat von Union
Mich würde auch interessieren, warum Du überhaupt von ADS weg willst. Irgendwelche Probleme?

Nein, wir haben bisher mit ADS keinerlei Probleme. Da meine Kunden aber kleine bis mittelständische Unternehmen sind, ist das eine Kostenfrage.

Wie gross sind denn dann die (also Anzahl Workstations) ? ADS kostet ja so viel auch nicht. Wenn Du MySQL professionell einsetzt, kostet das ca. auch 250 EUR / Jahr.

Bernhard Geyer 10. Mär 2005 21:18

Re: Umstellung von "Advantage Database Server - ADT&
 
Zitat:

Zitat von Union
Wie gross sind denn dann die (also Anzahl Workstations) ? ADS kostet ja so viel auch nicht. Wenn Du MySQL professionell einsetzt, kostet das ca. auch 250 EUR / Jahr.

Vor allem dann wen dein Programm als einziges nur MySQL unterstützt ist MySQL nicht mehr kostenlos, wenn dein Programm etwas kostet.

Und für kleine Installationen gibt es ja den ADS Local Server (kostenlos).

Union 10. Mär 2005 21:28

Re: Umstellung von "Advantage Database Server - ADT&
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Union
Wie gross sind denn dann die (also Anzahl Workstations) ? ADS kostet ja so viel auch nicht. Wenn Du MySQL professionell einsetzt, kostet das ca. auch 250 EUR / Jahr.

Vor allem dann wen dein Programm als einziges nur MySQL unterstützt ist MySQL nicht mehr kostenlos, wenn dein Programm etwas kostet.

Und für kleine Installationen gibt es ja den ADS Local Server (kostenlos).

Sorry, die 250 EUR sind ein Sonderangebot. Normalerweise kostet die billigste Version, die kommerziell eingesetzt werden darf 495 EUR / Jahr. ADS ist, wie Bernhard schon erwähnte, bis 5 User auch kommerzeil gratis (bietet dann aber keine Transaktionen, da kein echter Server, sondern nur als DLL). Ansonsten kostet die 5 User Version z.b. 876 EUR. Da kannst Du aber bei einem entsprechendem Volumen wahrscheinlich mindestens 20% Rabatt rausholen.

microtronx 10. Mär 2005 21:34

Re: Umstellung von "Advantage Database Server - ADT&
 
Zitat:

Zitat von Union
Wie gross sind denn dann die (also Anzahl Workstations) ? ADS kostet ja so viel auch nicht. Wenn Du MySQL professionell einsetzt, kostet das ca. auch 250 EUR / Jahr.

Eigentlich sind das so Niederlassungen mit 2-5 Arbeitsplätzen. Da kostet eine ADS 5 User Lizenz schonmal VK 876,00 Euro.

Muss denn der Kunde tatsächlich MySQL erwerben wenn er das bei sich im Geschäft einsetzt? Ich glaube ich muss mir da doch mal die Lizenzen von MySQL genau durchlesen.

Naja, egal wie. Viele Kunden wünschen das, das zumindest MySQL Unterstützung vorhanden ist. D.h. jeder muss am Ende doch selber entscheiden können, ob er ADS oder MySQL oder oder einsetzt.

Wenn ich das mit dem "Bridge-Pattern" hinbekommen, kann ich mir vorstellen, diverse SQL-Server zu unterstützen.

Union 10. Mär 2005 21:45

Re: Umstellung von "Advantage Database Server - ADT&
 
Zitat:

Zitat von microtronx
Zitat:

Zitat von Union
Wie gross sind denn dann die (also Anzahl Workstations) ? ADS kostet ja so viel auch nicht. Wenn Du MySQL professionell einsetzt, kostet das ca. auch 250 EUR / Jahr.

Eigentlich sind das so Niederlassungen mit 2-5 Arbeitsplätzen. Da kostet eine ADS 5 User Lizenz schonmal VK 876,00 Euro.

Muss denn der Kunde tatsächlich MySQL erwerben wenn er das bei sich im Geschäft einsetzt? Ich glaube ich muss mir da doch mal die Lizenzen von MySQL genau durchlesen.

Naja, egal wie. Viele Kunden wünschen das, das zumindest MySQL Unterstützung vorhanden ist. D.h. jeder muss am Ende doch selber entscheiden können, ob er ADS oder MySQL oder oder einsetzt.

Wenn ich das mit dem "Bridge-Pattern" hinbekommen, kann ich mir vorstellen, diverse SQL-Server zu unterstützen.

Der Kunde muss. Bzw. bist Du auch dafür verantwortlich, wenn Du ein Produkt anbietest, das nur mit MySql arbeitet. Von ADO kann ich Dir auch abraten. Ich habe vor 2 Jahren mal eie Umstellung gemacht. Ist ja keine grosse Sache, dachte ich damals. Das war dann wieder mal ein Fall für VSS - undo changes. Die Peformance war recht bescheiden, was ja auch klar ist, wenn noch zwei Treiberlevels mehr dazwischenhängen. Und das TAdstable bzw. Query unterstützt sehr nette Sachen, die geradezu unersetzlich sind, z.B. Scoping oder Sequencelevels. Ich bin dann davon abgekommen, meine Anwendung DB-unabhängig zu entwickeln. Wenn jemand unbedingt Oracle oder MSSQL oder MySQL einsetzen will, muss man sich halt unterhalten, was das kostet.

microtronx 10. Mär 2005 22:01

Re: Umstellung von "Advantage Database Server - ADT&
 
Zitat:

Zitat von Union
Der Kunde muss. Bzw. bist Du auch dafür verantwortlich, wenn Du ein Produkt anbietest, das nur mit MySql arbeitet. Von ADO kann ich Dir auch abraten. Ich habe vor 2 Jahren mal eie Umstellung gemacht. Ist ja keine grosse Sache, dachte ich damals. Das war dann wieder mal ein Fall für VSS - undo changes. Die Peformance war recht bescheiden, was ja auch klar ist, wenn noch zwei Treiberlevels mehr dazwischenhängen. Und das TAdstable bzw. Query unterstützt sehr nette Sachen, die geradezu unersetzlich sind, z.B. Scoping oder Sequencelevels. Ich bin dann davon abgekommen, meine Anwendung DB-unabhängig zu entwickeln. Wenn jemand unbedingt Oracle oder MSSQL oder MySQL einsetzen will, muss man sich halt unterhalten, was das kostet.

Danke für den Erfahrungsbericht mit ADO. Wie schon erwähnt will ich das nur dann machen, wenn das mit "Bridging" klappt.
:roll: Jetzt wäre eine Hilfe von jemandem, der sich damit auskennt richtig.

Mal sehen, vielleicht meldet sich wer. :firejump: :bouncing4: :firejump:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz