Wichtige Hinweise zu REFLEX ab Vers. 9
Ab der Version 9 wird ein neuer Datenbank-Treiber eingeführt, der sich "ADO" nennt. Der bisherige Datenbank-Treiber "BDE" wird nach und nach abgelöst.
Inhaltsverzeichnis
1 Warum ein neuer Datenbank-Treiber?
Die BDE („Borland-Database-Engine“) ist ein stabiler und ausgereifter Treiber, aber die BDE kommt langsam in die Jahre. Sie stammt noch aus der Zeit, als man Access® und Paradox® als Standard-Datenbank verwendete und SQL-Server als High-End-Produkte ansah. Inzwischen hat sich die Datenbank-Landschaft geändert: SQL-Server sind heutzutage Standard. Obwohl die BDE mit SQL-Servern wie MS-SQL-Server®, mySQL® oder Oracle® prima klar kommt, hat sie doch ein paar Nachteile:
- Die BDE bildet eine Zwischenschicht zwischen einem ODBC-Treiber und der Datenbank. Dadurch wird unnnötiger „Ballast“ erzeugt, der die Geschwindigkeit etwas bremst und teilweise hohen Netzwerk-Verkehr erzeugt.
- Ehrlicherweise muss man jedoch sagen, dass der Geschwindigkeitsnachteil der BDE bei den heutige PC’s nicht besonders relevant ist.
- Die BDE wird vom Hersteller nicht mehr weiterentwickelt. So wird es z.B. niemals eine 64-Bit-Version geben. Das ist ein wichtiges Argument, weil sich abzeichnet, dass durch den Erfolg von Windows-7® immer mehr 64-Bit-Versionen von Windows eingesetzt werden.
- Ganz so akut ist dieses Problem nicht, weil die 64-Bit-Windows-Versionen mit 32-Bit-Programmen problemlos funktionieren: Es wird hier „WOW“ verwendet (Windows-On-Windows), eine intelligente Technik von Microsoft® (doch: das gibt’s!), die automatisch erkennt, ob ein Betriebssystemaufruf von einem 32- oder 64-bit-Programm kommt und diesen für den Benutzer nicht sichtbar auf 32-Bit-WOW oder 64-Bit-Windows umleitet. Deshalb läuft REFLEX ja auch problemlos auf 64-Bit-Windows-7 und Windows-8!
Aus diesem Grund haben wir uns dazu entschlossen, die BDE abzulösen.
2 Warum ADO?
Es gibt eine Reihe von Datenbanktreibern auf dem Markt, die meisten davon haben wir in einem zeitaufwendigen Prozess untersucht. Die Entscheidung für ADO fiel u.a. aus den folgenden Gründen:
- ADO ist von Microsoft®. Das lässt schließen, dass ADO auch zukünftig weiterentwickelt wird.
- ADO ist schnell. Es benötigt für die meisten Datenbanksysteme keinen ODBC-Treiber mehr, lediglich mySQL® hat noch keinen nativen ADO-Treiber, hier wird weiterhin ODBC verwendet.
- Der Hersteller unseres Entwicklungssystems Delphi® hat dafür gesorgt, dass der Umstieg von der BDE auf ADO relativ (!) problemlos über die Bühne geht.
- Für Leute, die sich für die Programmierung interessieren: Wir haben viel Zeit und Geld geopfert, um festzustellen, welche Entwicklungsumgebungen für zukünftige Entwicklungen unserer Programme sinnvoll sind. Eine Zeit lang war .Net-Framework® mit VisualStudio® im Gespräch. Umfangreiche Tests haben jedoch ergeben, dass dieses System für ein derart umfangreiches System wie REFLEX bzw. GEVAS-Professional schlicht zu langsam ist! Deshalb haben wir uns dazu entschlossen, in der Zukunft weiter mit Delphi® zu arbeiten, zumal Delphi aktuell sehr stark weiterentwickelt wird und hochmoderne Komponenten bekommt!
Die mobilen Geräte sind davon nicht betroffen, diese werden weiterhin in VisualStudio mit dem Compact.Net-Framework entwickelt!
2.1 Alles sofort neu?
Der Umstieg von der BDE auf ADO ist für uns eine gewaltige Aufgabe:
- REFLEX besteht aus ca. 450 Fenstern und Dialogen, die meisten davon haben in irgendeiner Weise mit Datenbankzugriffen zu tun.
- REFLEX besteht aus ca. 1,2 Millionen Zeilen Programmcode. Die Zusatzprogramme wie der REFLEX-TerminManager, REXIM usw. sind dabei noch gar nicht eingerechnet.
Es ist also nicht realistisch anzunehmen, dass das komplette REFLEX auf einmal umgestellt werden kann! Schließlich wollen wir unsere Programmier-Kapazität auch noch für die Weiterentwicklung unserer Programme nutzen. Unsere Strategie sieht deshalb vor, dass wir Fenster für Fenster, Dialog für Dialog, Programmzeile für Programmzeile nacheinander umstellen werden. Dieser Prozess wird sich über Monate hinziehen.
Die Technik dazu haben wir in den letzen Monaten entwickelt. Im Idealfall ist der Umstellungsprozess für den Anwender transparent, er sollte davon eigentlich nichts merken (außer vielleicht, dass manche Programmteile schnellen laufen als vorher…). Auf den REFLEX-Administrator kommt jedoch unter Umständen ein kleiner Aufwand zu, der mit der Version 9 von REFLEX beginnt.
2.2 Welcher Aufwand?
Wie groß der Aufwand für den Administrator ist, auf ADO umzustellen, hängt von der bestehenden Konfiguration ab. In unseren Feld-Tests haben wir festgestellt, dass es bei manchen Anwendern ohne eine einzige Änderung möglich ist, REFLEX-9 mit ADO zu verwenden. Bei anderen muss die Datenbank-Konfiguration (bzw. die INI-Datei, in der diese gespeichert ist), geändert werden. Einzelheiten dazu werden weiter unten beschrieben.
2.3 Muss das sein?
Ja, es muss! Auf die Dauer führt kein Weg daran vorbei, die BDE abzulösen. Zukünftige Entwicklungen von GEVITAS werden keine BDE mehr verwenden.
2.4 Was ist zu tun?
Im Grunde genommen geht es „nur“ um die Datenbank-Konfiguration bzw. um die INI-Datei, in der diese gespeichert ist. In REFLEX können Sie diese ändern mit dem Menü…
Natürlich benötigen Sie die Administrator-Rechte innerhalb von REFLEX, um auf dieses Menü zugreifen zu können!
In diesem Fenster wird die Datenbank-Konfiguration festgelegt:
Bereich | Für ADO | |
---|---|---|
1 | Name der ODBC-Datenquelle | Wird für den Zugriff auf MS-SQL-Server mit ADO nicht verwendet. Für den Zugriff auf mySQL wird diese Angabe jedoch verwendet.
Da dieser Parameter elementar ist, müsste er eigentlich korrekt angegeben sein und für den ADO-Zugriff nicht verändert werden. |
2 | Server-Name | Das könnte ein kritischer Bereich sein, weil man hier auch die ODBC-Datenquelle angeben kann:
Wenn man mit der integrierten CrystalReports-Engine 8.5 arbeitet, steht hier u.U. der Name der ODBC-Datenquelle und nicht der tatsächliche Server-Name! Das muss man ändern und den tatsächlichen Server-Namen angeben, wenn man mit REFLEX Version 9 arbeitet! Wenn man mit der CrystalReports-Version 10+ arbeitet (CRRUN12), steht hier der Name der Server-Name! Das ist korrekt und muss nicht geändert werden! Das Häkchen vor dem Server-Namen hat für ADO keine Bedeutung. |
3 | Datenbank-Name | Für ADO ist diese Angabe zwingend!
Das Häkchen vor dem Namen hat für ADO keine Bedeutung. |
4 | Tabellen-Bezeichner | Wird für ADO nicht verwendet. |
5 | Benutzer-Name | Wenn REFLEX in einer MS-SQL-Umgebung mit Domäne verwendet wird, muss man…
Wenn REFLEX in einer MS-SQL-Umgebung ohne Domäne („Vertrauenswürdige Umgebung“) verwendet wird, muss man…
Wenn REFLEX in einer mySQL-Umgebung verwendet wird, muss man…
|
6 | Passwort | s.o. |
7 | ODBC-Datenquelle vorhanden | Wird für ADO nicht verwendet. |
8 | Verbindungstest | Nur für das integrierte CrystalReports 8.5 relevant. CRRUN12 prüft die Verbindung immer. |
9 | INI-Datei | Pfad und Name der verwendeten INI-Datei. |