Hallo,
mich würde interessieren, ob jemand hier im Forum mit dem Advantage Database Server (ADS) arbeitet und schon versucht hat, auf das mit der 1.9er Version der ADSDBE mögliche ADT-Datenbankformat umzustellen.
Ich habe mich daran gemacht und hatte mit der Erzeugung eines Data-Dictionaries und der Konvertierung der Tabellen eigentlich keine Probleme.
Was allerdings problematisch ist, ist die Vorbelegung von leeren Werten in ADT-Tabellen mit NULL-Values. Diese tauchen nämlich (auch in zusammengesetzten) Index-Ausdrücken nicht auf. Ich habe mir deshalb eine Konverierungsroutine geschrieben, die alle NULL-Werte durch entsprechende leere Werte ersetzt, das kostet aber natürlich relativ viel Zeit.
Vielleicht hat sich schon jemand mit diesem Thema beschäftigt und weiß eine bessere Lösung?
Schöne Grüße
Hans
Umstellung von DBF nach ADT
Moderator: Moderatoren
-
- Rekursionen-Architekt
- Beiträge: 164
- Registriert: Mo, 09. Jan 2006 17:06
- Wohnort: Paderborn
- Hat sich bedankt: 2 Mal
- Kontaktdaten:
Hallo Tom,
so einfach ist es leider nicht!
SET NULLVALUE OFF regelt nur, wie Xbase++ mit den NULL-Werten umgeht. Das habe ich gesetzt und die Interpretation der NULL-Werte im Programm funktioniert einwandfrei.
Das Problem ist, dass die Indexe ja von ADS auf dem Server verarbeitet werden.
Konkret: ich habe einen Index mit dem Ausdruck NAME + VORNAME + DTOS(GEBURT)
wenn eines der Felder NULL ist, ist per Defininition von Extendet Systems der Gesamtausdruck NULL und fällt damit aus dem Index heraus. Das bedeutet, alle Datensätze, bei denen kein Geburtsdatum eingetragen ist, sind unter diesem Index nicht sichtbar.
Hans
so einfach ist es leider nicht!
SET NULLVALUE OFF regelt nur, wie Xbase++ mit den NULL-Werten umgeht. Das habe ich gesetzt und die Interpretation der NULL-Werte im Programm funktioniert einwandfrei.
Das Problem ist, dass die Indexe ja von ADS auf dem Server verarbeitet werden.
Konkret: ich habe einen Index mit dem Ausdruck NAME + VORNAME + DTOS(GEBURT)
wenn eines der Felder NULL ist, ist per Defininition von Extendet Systems der Gesamtausdruck NULL und fällt damit aus dem Index heraus. Das bedeutet, alle Datensätze, bei denen kein Geburtsdatum eingetragen ist, sind unter diesem Index nicht sichtbar.
Hans