descend und ADS

Advantage Database Server

Moderator: Moderatoren

Antworten
Elvis
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 34
Registriert: Mi, 13. Dez 2006 11:00
Wohnort: Hamburg

descend und ADS

Beitrag von Elvis »

Hallo,

ich mir schon so viele Post zu diesem Thema gefunden, habe aber keine passende Lösung gefunden.

Ich versuche von Xbase 1.82 über ADS auf eine dbf Datenbank mit ntx Index zuzugreifen.

In diesem Index ist descend enthalten. Die Datenbank wurde unter Clipper erstellt und wird noch in Clipper verwendet.

Sobald ich diesen Index öffne und ein Browse() starten, habe ich noch genau 2 Datensätze übrig.
Ich habe noch nicht mal den Seek gestartet. Wenn ich die Datei ohne Index, oder mit einem Index ohne Descend, browse ist alles ok.

Ich habe schon mit SET COLLATION rumgespielt, aber keine wirkung erzeilt.

Hat jemand eine Idee?

Gruß

Rene
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: descend und ADS

Beitrag von brandelh »

Hi,
bei descend() muss man für Clipper Kompatibilität den 2. Parameter setzen, ob das allerdings auch für ADS gilt ?

Grundsätzlich ist man auf der sicheren Seite, wenn man ein 2. Datenfeld nur für die INDEX-Sortierung erstellt ...
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9357
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: descend und ADS

Beitrag von Tom »

Du wirst die Tabelle unter Xbase++ mit ADS reindexieren müssen.
Herzlich,
Tom
Elvis
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 34
Registriert: Mi, 13. Dez 2006 11:00
Wohnort: Hamburg

Re: descend und ADS

Beitrag von Elvis »

Vielen Dank für die Tipps

Das ist der Index den ich erstellen will

SUBSTR(BSBELEGNR,1,1)+DESCEND(DTOS(BSDATUM)+SUBSTR(BSBELEGNR,2,7),.T.)

und das ist der Fehler

{NIL, 3002, Error 3002: Incorrect parameter count within a function call in index key expression.}

Ohne das den compatibilitäts Paramter klappt es den Index zu erstellen, aber mit leider nicht.

Irgendwelche Tipps? (version 1.82, ADS 5.4)

Rene
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: descend und ADS

Beitrag von brandelh »

Hi,

könnte es sein, dass in einem der Datumsfelder ein "leeres" Datum steht und descend mit dessen Rückgabewert dann nicht klar kommt ?
Ich würde mal ein dbeval mit der gleichen Funktion aufrufen, aber statt createindex() qout() mit recno() und set alternate Protokoll füllen.
Der Satz, mit dem Problem sollte nach den gedruckten existieren (wenn es denn ein Datenproblem ist).
Tritt der Fehler sofort auf, muss ein ein generelles Problem der Funktionen sein - allerdings sehe ich so auf die Schnelle keinen Parameterfehler.
Gruß
Hubert
Antworten