Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Migration BDE Strategie (https://www.delphipraxis.net/186466-migration-bde-strategie.html)

ibp 4. Sep 2015 11:21

Datenbank: IB/FB • Version: XExx • Zugriff über: ??

Migration BDE Strategie
 
Hallo,

die BDE soll abgelöst werden. Wir hatten zwar bisher keinerlei Probleme mit der BDE aber da einige tiefgreifende Änderungen im Programm vorgesehen sind soll sie nun abgelöst werden.

Da wir aber den Updatewahnsinn von Delphi/Interbase nicht mitmachen werden und wollen, liegt nun eine gedachte Strategie vor (hier nur grob skizziert).

1.a. Migration des SC auf Unicode, bisherige Entwicklung mit D7
1.b. Ablösung der BDE durch IBDAC
2. nach einiger Zeit Ablösung von Interbase durch FB

Fragen:

1. Wie Aufwendig ist die Ablösung der BDE zu IBDAC oder gibt es was besseres was nicht an den Updatezyklus von Delphi gebunden ist?
2. Ist IBDAC die richtige Wahl und kann ich damit auch problemlos FastReport weiter benutzen (die haben ja IBX,BDE und neuerdings wohl FireDAC integriert)?
3. Hab ich was vergessen? ;-)

Danke schon mal..

mkinzler 4. Sep 2015 11:28

AW: Migration BDE Strategie
 
1) Es gibt eine einen Migrationsassistent der die Kompoenenten und Einstellungen "umhebt".
Es ist aber u.U. sinnvolleer das manuell zu machen und in diesem Zusammenhang auch das Datenbankschema usw. ggf mit anzupassen.
2) FastReport funktioniert mit jeden TDataSet kompatiblen Komponenten. Bei IBDAC sind aber auch FR-Adapter dabei.
3) Möglicherweise gleich UNIDAC nehmen.

ibp 4. Sep 2015 11:35

AW: Migration BDE Strategie
 
Zitat:

Zitat von mkinzler (Beitrag 1314689)
1) Es gibt eine einen Migrationsassistent der die Kompoenenten und Einstellungen "umhebt".
Es ist aber u.U. sinnvolleer das manuell zu machen und in diesem Zusammenhang auch das Datenbankschema usw. ggf mit anzupassen.
2) FastReport funktioniert mit jeden TDataSet kompatiblen Komponenten. Bei IBDAC sind aber auch FR-Adapter dabei.
3) Möglicherweise gleich UNIDAC nehmen.

1) ich denke auch dass es manuell gemacht werden muss, da eh einiges am Code angepasst wird.
2) Viele unserer Reporte basiert im Report programmierte Teile, da sich viele Optionen vorher nicht abklären lassen. Für mich ist nur wichtig, dass die Verbindung Rep>DB dann auch klappt und ich nicht irgendwas verbiegen muss oder dann IBX nehmen muss, falls es irgendwann mal FB wird.
3) Es wird entweder IB bleiben oder auf FB umgestiegen, daher ist UNIDAC nicht notwendig.

Lemmy 4. Sep 2015 12:13

AW: Migration BDE Strategie
 
Hi,

ich habe mit dem Experten schon ein System umgestellt (OK gelogen, war von IBX auf IBDAC) hat recht gut funktioniert. Von BDE auf IBDAC steht noch eines aus, TEstweise Umstellung sah aber schon mal gut aus - gut die ganzen Tables usw. müssen manuell entfernt werden, Queries angepasst werden - aber das geht.

Datenbankschema ändern: Würde ich persönlich nicht machen - hier würde ich einer einfachen Datenmigration den Vorrang geben - in Firebird lässt sich das anschließend bel. aufdröseln und neu gestalten. Wenn Ihr keine Daten mitnehmen müsst spricht sicherlich nichts gegen eine Anpassung.

FastReport war mit IBDAC noch kein Problem (FR2, 3, 5)

ibp 4. Sep 2015 12:28

AW: Migration BDE Strategie
 
Zitat:

Zitat von Lemmy (Beitrag 1314705)
..FastReport war mit IBDAC noch kein Problem (FR2, 3, 5)

Auch die Richtung FastReport > IBDAC > DB?

lowmax_5 4. Sep 2015 13:29

AW: Migration BDE Strategie
 
Zitat:

1.a. Migration des SC auf Unicode, bisherige Entwicklung mit D7
1.b. Ablösung der BDE durch IBDAC
2. nach einiger Zeit Ablösung von Interbase durch FB
Die Umstellung von Unicode (>D2009) würde ich von der Umstellung der BDE trennen, wenn es ein grösseres Projekt ist. (D.h. IBBDAC erst einmal auf D7 installieren). Ansonsten wird die Baustelle zu gross. Auf den Umstellungsassistenten würde ich micht nicht unbedingt verlassen. Lieber manuell die Komponenten wechseln, da ggf. in den Events noch Code steckt, der angepasst werden muss.

IBDAC ist eine sehr gute Wahl und spielt hervorragend mit IB/FB zusammen.
Zugriff auf Tables lassen sich sehr einfach durch SQL:'SELECT * FROM TABLENAME' ersetzen

Erst danach würde ich dann an die Unicodeumstellung gehen. Oftmals geht dieses noch mit Konvertierungen in der Datenbank einhehr, falls dort Blobs,etc eingesetzt wurden. Fehler lassen sich so in vielen Fällen besser abgrenzen, wenn die Themen getrennt sind.

Mit dieser Vorgehensweise habe ich ein grosses ERP-Projekt ohne Probleme in einer angemessenen Zeit kontrolliert umstellen können.

PS: Achtung beim Thema 'AUTO COMMIT' JA/NEIN Dieses kann zu Problemen führen!!!

mkinzler 4. Sep 2015 13:37

AW: Migration BDE Strategie
 
Zitat:

Zugriff auf Tables lassen sich sehr einfach durch SQL:'SELECT * FROM TABLENAME' ersetzen
Lieber nicht. Besser mit
SQL-Code:
SELECT <benötigten Felder> FROM TABLENAME;

ibp 4. Sep 2015 13:40

AW: Migration BDE Strategie
 
Zitat:

Zitat von lowmax_5 (Beitrag 1314729)
Zitat:

1.a. Migration des SC auf Unicode, bisherige Entwicklung mit D7
1.b. Ablösung der BDE durch IBDAC
2. nach einiger Zeit Ablösung von Interbase durch FB
Die Umstellung von Unicode (>D2009) würde ich von der Umstellung der BDE trennen, wenn es ein grösseres Projekt ist. (D.h. IBBDAC erst einmal auf D7 installieren). Ansonsten wird die Baustelle zu gross. Auf den Umstellungsassistenten würde ich micht nicht unbedingt verlassen. Lieber manuell die Komponenten wechseln, da ggf. in den Events noch Code steckt, der angepasst werden muss.

IBDAC ist eine sehr gute Wahl und spielt hervorragend mit IB/FB zusammen.
Zugriff auf Tables lassen sich sehr einfach durch SQL:'SELECT * FROM TABLENAME' ersetzen

Erst danach würde ich dann an die Unicodeumstellung gehen. Oftmals geht dieses noch mit Konvertierungen in der Datenbank einhehr, falls dort Blobs,etc eingesetzt wurden. Fehler lassen sich so in vielen Fällen besser abgrenzen, wenn die Themen getrennt sind.

Mit dieser Vorgehensweise habe ich ein grosses ERP-Projekt ohne Probleme in einer angemessenen Zeit kontrolliert umstellen können.

...

hatte ich auch schon daran gedacht, dann kann man die bisherigen Funktionen besser testen ob sie stimmig sind. Formularkomponenten haben wir so gut wie nicht benutzt nur an 2-3 Stellen, die sind überschaubar. Der Rest läuft codeseitig über Querys.

Zitat:

Zitat von lowmax_5 (Beitrag 1314729)
PS: Achtung beim Thema 'AUTO COMMIT' JA/NEIN Dieses kann zu Problemen führen!!!

in wiefern?

Lemmy 4. Sep 2015 13:42

AW: Migration BDE Strategie
 
Zitat:

Zitat von ibp (Beitrag 1314713)
Zitat:

Zitat von Lemmy (Beitrag 1314705)
..FastReport war mit IBDAC noch kein Problem (FR2, 3, 5)

Auch die Richtung FastReport > IBDAC > DB?

Habe ich noch nie gemacht

lowmax_5 4. Sep 2015 13:50

AW: Migration BDE Strategie
 
Code:
in wiefern?
Die BDE verhält sich ungefähr wie IBDAC mit Autocommit=AN. Somit hätte man das alte Verhalten zumindest nachgebildet.

Dieses ist aber nicht wirklich schön :wink:. Um mehr Kontrolle über die Transaktionen zu haben sollte Autocommit=AUS sein. Hierfür sind dann aber ggf. einige Codezeilen mehr notwendig.

mkinzler 4. Sep 2015 13:51

AW: Migration BDE Strategie
 
Diese Art von Transaktionsteuerung hat die Besonderheit, dass sie kein ist. (autocommit)

ibp 4. Sep 2015 14:09

AW: Migration BDE Strategie
 
Zitat:

Zitat von mkinzler (Beitrag 1314731)
Zitat:

Zugriff auf Tables lassen sich sehr einfach durch SQL:'SELECT * FROM TABLENAME' ersetzen
Lieber nicht. Besser mit
SQL-Code:
SELECT <benötigten Felder> FROM TABLENAME;

SQL-Code:
select *
gibt es nicht bei uns, zwingend immer die Form
SQL-Code:
SELECT xyz.Feld1, xyz.Feld2... FROM TABLENAME xyz;

ibp 4. Sep 2015 14:11

AW: Migration BDE Strategie
 
Zitat:

Zitat von lowmax_5 (Beitrag 1314740)
Code:
in wiefern?
Die BDE verhält sich ungefähr wie IBDAC mit Autocommit=AN. Somit hätte man das alte Verhalten zumindest nachgebildet.

Dieses ist aber nicht wirklich schön :wink:. Um mehr Kontrolle über die Transaktionen zu haben sollte Autocommit=AUS sein. Hierfür sind dann aber ggf. einige Codezeilen mehr notwendig.

das ist klar Transaktionsbehandlungen sind bekannt unter IBX, ich dachte es gäbe Fehler oder andere komische Besonderheiten in IBDAC.

hoika 4. Sep 2015 16:27

AW: Migration BDE Strategie
 
Hallo,
also ich habe das zweimal durch (BDE-Ablösung durch IBDAC).

Die Frage ist hier, BDE-TTable oder BDE-TQuery benutzt?

wir haben das so gemacht, dass wir eine TDBQuery definiert haben,
die von TIBCQuery (IBDAC? habe gerade keinen Code hier) abgeleitet ist.
Dann per Programm alle TQuery durch TDBQuery ersetzt, FetchAll gesetzt (ist bei der BDE so Standard).

Das Datenmodul (gibt es hoffentlich) etwas angepasst.

Und dann Testen, Testen, Testen ...


Heiko

ibp 5. Sep 2015 10:51

AW: Migration BDE Strategie
 
Zitat:

Zitat von hoika (Beitrag 1314782)
Hallo,
also ich habe das zweimal durch (BDE-Ablösung durch IBDAC).

Die Frage ist hier, BDE-TTable oder BDE-TQuery benutzt?

wir haben das so gemacht, dass wir eine TDBQuery definiert haben,
die von TIBCQuery (IBDAC? habe gerade keinen Code hier) abgeleitet ist.
Dann per Programm alle TQuery durch TDBQuery ersetzt, FetchAll gesetzt (ist bei der BDE so Standard).

Das Datenmodul (gibt es hoffentlich) etwas angepasst.

Und dann Testen, Testen, Testen ...


Heiko

das haben wir zum Teil ebenfalls schon gemacht und ein eigenes "TDBQuery" genutzt, leider bisher für nur ca. 1/3 des relevanten Codes.

BDE-Table gibt es so gut wie nicht. Nur in zwei Formularen, die sowieso geändert werden müssen und auch nur für den Admin sind.

Dejan Vu 5. Sep 2015 15:22

AW: Migration BDE Strategie
 
Als ich etwas ähnliches mal machen musste, (BDE -> ADO), habe ich die DFM gepatcht, die PAS-Dateien weitestgehend automatisch ersetzt und den Rest dann manuell angepasst. Ging erstaunlich schnell. Waren aber auch nur so 100 Dateien.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:20 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