TurboDB VCL Komponenten Bibliothek

Upgrade einer Hauptversion

Previous  Top  Next

Um bestehende Projekte von Version 5 oder niedriger upzugraden sind einigen Anpassungen notwendig. Wenn Sie Ihre Anwendung zum ersten Mal mit den VCL Komponenten für TurboDB 5 übersetzen, müssen Sie alle Formulare in der IDE öffnen und den Ignorieren Knopf drücken, sooft eine Meldung mit Bezug auf TurboDB angezeigt wird. Nötig ist dies wegen weggefallener oder neu hinzugekommener Eigenschaften in der Komponenten Bibliothek, aber wenn Sie die Anweisungen in diesem Kapitel befolgen, wird Ihre Anwendung wie zuvor funktionieren.

Von TurboDB 5

TTdbDataSet.Filter und TTdbDataSet.Locate

Da TurboDB 6 echte Kollationen unterstützt und damit in der Tabellenspalte definiert, ob zwischen Groß- und Kleinschreibung unterschieden wird, sind die Werte foCaseInsensitive in der Eigenschaft FilterOption und loCaseInsensitive in LocateOption jetzt ohne Funktion. Falls diese Optionen bisher verwendet wurden, muss die Datenbanktabelle auf Level 6 gebracht und dabei die passende Kollation für die Tabelle oder Tabellenspalte definiert werden.

TTdbTable.LangDriver

Da TurboDB 6 echte Kollationen unterstützt , können Sprachtreiber nicht mehr verwendet werden. Zur formalen Kompatibilität existiert die Eigenschaft noch, wird aber nicht mehr genutzt. TTdbTable hat nun die neue Property Collation, um die Vorgabe-Kollation für seine textuellen Spalten zu definieren. Falls bisher ein Sprachtreiber verwendet wurde, ist die Tabelle auf Level 6 zu bringen und dabei eine passende Kollation zu definieren.

TField für Links, Relationem und Aufzählungen

In Delphi 2009 und höher werden Links, Relationen und Aufzählungen jetzt als Unicode Strings behandelt. Die entsprechenden Felder müssen daher vom Typ TWideStringField anstelle von TStringField sein. Beim Konvertieren älterer Projekte müssen Felder dieser Typen gelöscht und erneut angelegt werden.

Von TurboDB 4

Directory-Eigenschaft

Diese Eigenschaft war bereits als obsolet in TurboDB 4 gekennzeichnet und wurde nun endgültig entfernt. Verwenden Sie stattdessen die Eigenschaft Location.

FilterType-Eigenschaft

Diese Eigenschaft wurde entfernt, da sie nicht mehr nötig ist. Mit TurboDB 5 können ist es möglich nach einer Bedingung und einem Schlüsselwort gleichzeitig zu suchen. Wenn Sie ein Formular, das eine TTdbTable-Komponente enthält, zum ersten Mal in der Delphi/C++ Builder IDE öffnen, klicken Sie in der Dialog Box, die Sie auf das Fehlen der Eigenschaft aufmerksam macht, einfach auf Ignorieren.

Tabellen Verschlüsselung

Tabellen verfügen nun über die Eigenschaften EncryptionMethod und Password anstelle von Password und Key. Falls Sie Ihre Tabelle schützen wollen, müssen Sie jetzt die EncryptionMethod angeben. Um mit TurboDB 4 kompatible zu sein, ist diese Eigenschaft bei Verwendung eines Schlüssels auf temClassic einzustellen oder auf temProtection, falls nur ein Passwort verwendet wurde. Falls Sie mit TurboDB 4 einen Schlüssel verwendet haben, lesen Sie bitte den Abschnitt über die Eigenschaft Password, um zu erfahren, wie Sie das anpassen können. Die Eigenschaft Password ist nun vom Typ WideString anstelle von AnsiString in TurboDB 4.

In Bezug dazu steht eine Änderung beim Ereignis OnPassword. Da Key in TurboDB 5 nicht mehr verwendet wird, wurde dieser Parameter aus der Signatur des Ereignisses entfernt.

Volltext-Indexe

Sie können in Ihrer VCL-Anwendung den bestehenden Code zur Volltextsuche weiter verwenden.  Wenn Sie aber auf den neuen Tabellen-Level 4 upgraden wollen oder wenn Sie von den neuen Volltext-Index Features wie die deutlich verbesserte Performanz, Ranking und Wartung profitieren wollen, müssen Sie Ihren Programmcode etwas ändern, im Allgemeinen wird er aber einfacher werden.

Mit der neuen Volltextsuche ist es nicht mehr erforderlich die Tabelle mit den Schlüsselwörtern über eine Relation zu verknüpfen. Der Wortfilter funktioniert noch genauso, anstelle von AddFulltextIndex ist lediglich AddFulltextIndex2 aufzurufen. Außerdem gibt es eine zusätzliche Methode UpdateFulltextIndex, die nur den Namen des Volltext-Index als Parameter benötigt.

Upgrade-Themen auf Datenbank Level

Weitere Betrachtungen speziell zu SQL Statements.