Delphi-PRAXiS
Seite 1 von 2  1 2      

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?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:42 Uhr.
Seite 1 von 2  1 2      

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