Seite 1 von 1

DBFNTX - seltsames Verhalten

Verfasst: Sa, 27. Apr 2024 13:52
von georg
Hallo,


um weiteren Fragen vorzubeugen: ich helfe hier einem Bekannten, daher DBFNTX und nicht SQL.

Gegeben ist eine DBF-Datei. Sie wird per Programm erstellt und gefüllt. Beim erneuten Programmstart soll die Datei gepackt werden, wenn aktuell kein anderer Benutzer zugreift, da in der Datei häufig Datensätze gelöscht und neu angelegt werden.

Code: Alles auswählen

         USE "Daten.dbf" EXCLUSIVE
         IF !Empty(Alias())     // konnte exclusiv geöffnet werden
Das klappt, da kein anderes Programm mit der Datei arbeitet. Aber:

eof() => .T.
bof() => .T.
reccount() => 0

Wenn man dann auf diese Datei einen dbPack() ausführt, ist sie leer. Was nicht das Ziel war.

Hat einer von Euch eine Erklärung? Es ist mir an anderen Stellen schon passiert, dass sich DBFNTX ausgesprochen seltsam verhält.

Alle DLLs (auch die DBFDBE sowie die NTXDBE) sind auf dem gleichen Stand.

Und warum DBFNTX? Der Bekannte ist überzeugt, wenn er etwas anderes verwendet, fällt ihm der Himmel auf den Kopf ... Die spinnen, die ...

Re: DBFNTX - seltsames Verhalten

Verfasst: Sa, 27. Apr 2024 14:37
von BJelinek
Hallo habt Ihr den DBU als xbase-Programm.

Dann könnt Ihr die Datei öffnen ohne Index und schauen was los ist.
Man kann die Datei auch packen ohne Index. Der Index muss dann nur neu
aufgebaut werden.

Wenn ich Dateien packe, lösche ich die Index-Dateien packe
und baue die Index neu auf.

Re: DBFNTX - seltsames Verhalten

Verfasst: Sa, 27. Apr 2024 16:29
von georg
Hallo, Bernd -


also, die Datei ist in Ordnung, wenn ich sie mit DBU öffne, d.h. 3 Sätze sind drin - wenn ich sie dann im Programm mit dem Code-Schnipsel öffne, ist sie leer. Das ist es, was mich irritiert.

Re: DBFNTX - seltsames Verhalten

Verfasst: Sa, 27. Apr 2024 16:53
von Jan
Hallo Georg,

das Einzige das mir auffällt ist, das im Dateinamen die Endung mit drin steht. Sowas habe ich noch nie gesehen. Das sollte natürlich nichts ausmachen. Theoretisch. Aber habt Ihr das mal ohne versucht?

Jan

Re: DBFNTX - seltsames Verhalten

Verfasst: Sa, 27. Apr 2024 17:57
von BJelinek
Hast du mit DBU auch mit Index geöffnet
Und den Index neu erstellt.
Den Indexaufbau mal begutachtet.

Re: DBFNTX - seltsames Verhalten

Verfasst: Sa, 27. Apr 2024 18:11
von Jan
Hallo Bernd,

ein USE "Daten" EXCLUSIVE öffnet ja keine Indizee. Die sollten also nicht das Problem sein. Ansonsten ist das natürlich richtig. Ich habe auch schon wie ein Blöder nach fehlenden Sätzen gesucht, nur weil der Index korrupt war. Seit dem Umstieg auf FOXCDX ist das eigentlich nie mehr passiert, aber das ist ja hier keine Alternative.

Jan

Re: DBFNTX - seltsames Verhalten

Verfasst: Mo, 29. Apr 2024 8:30
von Slavko
Hi,

USE Daten NEW EXCLUSIVE

Re: DBFNTX - seltsames Verhalten

Verfasst: Mo, 29. Apr 2024 9:06
von Tom
Das hat mit Indexen sicherlich nichts zu tun. Im einfachsten Fall sind die fraglichen drei Datensätze als gelöscht markiert, dann sieht man sie zwar in DBU, aber EoF() ist bei einem DbGotop(), das beim DbUseArea() implizit erfolgt, auf .T., das wäre dann auch richtig.

Re: DBFNTX - seltsames Verhalten

Verfasst: Mo, 29. Apr 2024 9:13
von AUGE_OHR
hi Georg,
ich würde die *.DBF löschen un von der APP neu erstellen lassen.
ich hebe es schon erlebt das "andere" Programm auf eine *.DBF zu gegriffen hatten und die *.DBF dadurch "zerstört" wurde

Re: DBFNTX - seltsames Verhalten

Verfasst: Mo, 29. Apr 2024 9:19
von Rolf Ramacher
soll denn die Datei geleert werden mit allen Datensätzen. ? dann wäre doch dpzap die richtige alternative

Re: DBFNTX - seltsames Verhalten

Verfasst: Mo, 29. Apr 2024 11:55
von georg
Guten Morgen,


danke für die Antworten.

a) die DBF ist über das Programm erstellt worden
b) es befinden sich drei Datensätze in der DBF, alle in DBU sichtbar, keiner als gelöscht markiert
c) die DBF soll gepackt, nicht gezappt werden
d) USE Daten NEW EXCLUSIVE wird gemacht (und nur, wenn die Datei geöffnet werden kann, wird auch der Pack durchgeführt)

Re: DBFNTX - seltsames Verhalten

Verfasst: Mo, 29. Apr 2024 12:26
von Frank Grossheinrich
Hallo Georg,

das hört sich spannend an. Du sagst also, dass du eine DBF hast, die - wenn du sie PACKst - dass sie dann leer ist?
Kann ich die DBF bitte bekommen?
Und Indexe sind NIE involviert bei dieser DBF? Also, nie, zu keinem Zeitpunkt?
Oder kannst du garantieren, dass Indexe (ich gehe von NTX aus) zu jedem Zeitpunkt allesamt geöffnet sind, sobald die DBF geöffnet wird? Ist das gewährleistet?

Ich bin neugierig
Frank

Re: DBFNTX - seltsames Verhalten

Verfasst: Mo, 29. Apr 2024 13:03
von georg
Hallo, Frank -


ich habe Dir mal eine eingedampfte Version erstellt und per Email zugeschickt.