Hi!
Ich habe mit folgendem Code den Betriebssystemfehler:
DbCreateIndex Thread ID: 1 Betriebssystem Fehler: 1 bekommen:
use vs_bank (das ist die .DBF Datei: vs_bank.dbf u.a. mit dem Feld: beginn)
INDEX ON beginn TO vs_bindx (dies die über die Installation mitgelieferte Index-Date: vs_bindx.ntx
Und hier bei: INDEX ON beginn TO vs_bindx steigt das System mit dem o. beschriebenen Fehler aus.
Muss ich vielleicht bei den Dateien jeweils immer die Endung mit angeben, also: use vs_bank.dbf und INDEX ON beginn TO vs_bindx.ntx ?
Vielen Dank für Eure Mühe!
mfG Werner
richtige Einbindung einer Indexdatei
Moderator: Moderatoren
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2471
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: richtige Einbindung einer Indexdatei
Ich denke das Problem ist beginn
BEGIN ist ein Schlüsselwort und könnte in dem Zusammenhang zu Problemen führen.
BEGIN ist ein Schlüsselwort und könnte in dem Zusammenhang zu Problemen führen.
Gruß
Klaus
Klaus
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: richtige Einbindung einer Indexdatei
Nein, das stimmt nicht. "INDEX ON BEGINN TO <MeineIndexDatei>" funktioniert problemlos, wenn alles andere richtig ist.BEGIN ist ein Schlüsselwort und könnte in dem Zusammenhang zu Problemen führen.
Leider fallen viele Probleme beim Erzeugen und zuweilen auch beim Verwenden von Indexen auf OS1 und "unzulässige Funktion" zurück, aber es wäre schon interessant, die XppError.LOG vollständig zu sehen, Werner.
Es gibt viele mögliche Ursachen. Ist "VS_BANK" überhaupt geöffnet worden? Wenn Du direkt dahinter NetErr() abfragst, was sagt das? Oder die Rückgabe von DbInfo(DBO_FILENAME)? Möglicherweise hast Du nicht das Recht, den Index zu erzeugen (Rechte im Verzeichnis). Oder Dir funkt ein Virenscanner dazwischen. Der Feldname "BEGINN" jedenfalls ist es NICHT.
Herzlich,
Tom
Tom
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2945
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: richtige Einbindung einer Indexdatei
Oder die Datenbanktreiber sind nicht geladen - oder nicht die für NTX.
Viele Grüße
Wolfgang
Wolfgang
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: richtige Einbindung einer Indexdatei
Oder das Feld "BEGINN" existiert in der aktuellen Tabelle nicht. Das kann auch der Fall sein, wenn eine Tabelle nicht geöffnet werden konnte, die es tatsächlich enthält.
Herzlich,
Tom
Tom
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: richtige Einbindung einer Indexdatei
Hallo, Werner.
Noch eine erklärende Ergänzung:
"INDEX ON ..." erzeugt eine Indexdatei zu einer Tabelle. Es ist nicht erforderlich, das jedes Mal zu tun, wenn man eine Tabelle verwendet, ganz im Gegenteil. Eigentlich erzeugt man Indexe nur hin und wieder, etwa, wenn eine Tabelle ganz neu ist (also der Index noch nicht exisitiert) oder aus Servicegründen (Datenwartung, bei korrupten/beschädigten Indexdateien, oder bei CDX regelmäßig, weil die Indexdateien da stark anwachsen können).
Einen bestehenden, korrekten Index öffnet man einfach mit der Tabelle oder kurz nach ihrer Öffnung:
oder
Wenn man Daten einer Tabelle ändert, ändert sich dann der Index gleich mit. Deshalb ist es wichtig, immer alle Indexe mitzuöffnen, wenn Daten verändert oder neu erfasst werden könnten. Wenn man nur in der Tabelle sucht oder nur Inhalte ändert, die nicht in Indexen berücksichtigt sind, ist das nicht erforderlich. Wenn man mehrere Index(ausdrück)e hat hat, kann man den führenden Index mit "SET ORDER TO" wechseln, bei Compoundindexen (CDX) auf Wunsch ergänzt um "TAG" für den Namen des Indexes.
Noch eine erklärende Ergänzung:
"INDEX ON ..." erzeugt eine Indexdatei zu einer Tabelle. Es ist nicht erforderlich, das jedes Mal zu tun, wenn man eine Tabelle verwendet, ganz im Gegenteil. Eigentlich erzeugt man Indexe nur hin und wieder, etwa, wenn eine Tabelle ganz neu ist (also der Index noch nicht exisitiert) oder aus Servicegründen (Datenwartung, bei korrupten/beschädigten Indexdateien, oder bei CDX regelmäßig, weil die Indexdateien da stark anwachsen können).
Einen bestehenden, korrekten Index öffnet man einfach mit der Tabelle oder kurz nach ihrer Öffnung:
Code: Alles auswählen
USE VS_BANK INDEX VS_BANK ALIAS bank NEW // öffnet die Tabelle "VS_BANK.DBF" und die Indexdatei "VS_BANK.NTX/.CDX"
Code: Alles auswählen
USE VS_BANK ALIAS bank NEW // öffnet nur die Tabelle
SET INDEX TO VS_BANK // öffnet den Index dazu
Herzlich,
Tom
Tom