[erledigt] Temp. Index bei FoxBase

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Danksagung erhalten: 1 Mal
Kontaktdaten:

[erledigt] Temp. Index bei FoxBase

Beitrag von adrian »

Hallo zusammen

Ich bin am umstellen von DBFNTX auf FOXCDX, dies ist alles soweit kein Problem.

Doch bei Temp.Index Erstellung habe ich Probleme (Absturz)

Code: Alles auswählen

IF AppIni():GetEntry("INIT", "FOXPRO", "0", "L")
      	sTmpFibu := TEMPFILE(sTemp,"CDX")

	USE &sName ALIAS oFIBU SHARED NEW
	INDEX ON DATUM TAG AFRA TO (sTmpFibu)		// hier gibt es einen Absturz, bei fixen Namen geht es
ELSE
	sTmpFibu := TEMPFILE(sTemp,"NTX")

	USE &sName ALIAS oFIBU SHARED NEW
	INDEX ON DATUM TO (sTmpFibu)
ENDIF
Im unteren Bereich (DBFNTX) kein Problem, im oberen Bereich stürzt das Programm bei der Index-Zeile ab.

Wie erstellt Ihr einen Temp.Index? (ich kann, infolge Netzwerk keinen fixen Namen nehmen)

Adrian
Zuletzt geändert von adrian am Di, 12. Mai 2020 20:10, insgesamt 1-mal geändert.
es Grüessli

Adrian
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Temp. Index bei FoxBase

Beitrag von Tom »

Setz mal ein

Code: Alles auswählen

FErase(sTempFibu)
vor die Zeile mit dem "INDEX ON". Sonst versucht die Engine, eine Indexdatei zu aktualisieren, die gar kein Index ist, sondern eine leere Datei.
Herzlich,
Tom
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Temp. Index bei FoxBase

Beitrag von Marcus Herz »

Was steht denn in sTempfibu

Muss man nicht exclusiv zum indizieren öffnen ? (hab schon lang nicht mehr mit FOCDX gearbeitet)
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Temp. Index bei FoxBase

Beitrag von adrian »

Herzlichen Dank für die rasche Antwort, Tom hatte Recht, aber darauf wäre ich gar nie gekommen.

adrian
es Grüessli

Adrian
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: [erledigt] Temp. Index bei FoxBase

Beitrag von Tom »

CDX erzeugt Indexe nicht neu beim Reindexieren, sondern aktualisiert sie immer. Dadurch wachsen sie auch mit der Zeit an. Deshalb löscht man die Dateien explizit vor dem Reindexieren. TempFile() erzeugt aber eine leere Datei mit dem Namen, den die Funktion zurückreicht. CDX denkt, hier wäre ein bestehender Index zu aktualisieren. NTX demgegenüber erzeugt einen Index immer komplett neu, deshalb kann in der NTX-Datei vor dem Reindexieren drinstehen, was auch immer man sich vorstellen kann. Dort tritt dieses Problem nicht auf.

Schön, dass es gelöst ist! :)
Herzlich,
Tom
Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: [erledigt] Temp. Index bei FoxBase

Beitrag von adrian »

Hoi Tom

Danke Dir für die Erklärung, jetzt ist mir alles klar.

Adrian
es Grüessli

Adrian
Antworten