[Allegro] Indexerneuerung bei sehr kleiner Datenbank
Sibylle Koczian
Sibylle.Koczian at T-Online.de
Sa Jun 2 23:16:00 CEST 2007
Lieber Herr Allers,
"Heinrich Allers" <allers at t-online.de> schrieb:
> Hallo Frau Koczian:
>
> > eine winzige Datenbank (z.Z. 26 Sätze) mit eigener Konfiguration und eigenen Indexparametern.
> > Keine V14-Ersetzungen.
>
> Ich habe, um Ihr Geschehen reproduzieren zu können, unter meinem Standard-Allegro-
> Programmverzeichnis
> c:\allegru ein Datenbankverzeichnis katal eingerichtet und dort 4 Afnahmen abgelegt. Die
> übrige Bestückung habe ich von der Demo-Datenbank übernommen, denn davon sollte es nicht
> abhängen, was geschieht.
>
> > Nach einer Änderung der Parameter muss neu indexiert werden; alles
> > lokal auf dem eigenen Rechner. Startverzeichnis ist das Datenbankverzeichnis.
>
> Das heißt, das ist auch _Arbeitsverzeichnis_, also das, was in Windows-Terminologie
> "Ausführen in" genannt wird: Sie haben also, sofern Sie den Aufruf als Windows-Auifruf
> machen, die entsprechende Rubrik unter dessen Eigenschaften entsprächend geänderf, von
> %temp% in
> f:\allegro\...?
>
Kein Windows-Aufruf, sondern entweder aus der Eingabeaufforderung (CMD.EXE, nicht COMMAND.COM),
oder via Total-Commander-Befehlszeile. Wenn ich irgendwo halbwegs sicher sein kann, in welchem
Verzeichnis ich arbeite, dann ja wohl auf diese Weise. Desktop-Verknüpfungen baue ich mir nur,
wenn ich eine Datenbank oft brauche, oder wenn evtl. auch mein Mann sie finden muss.
> > ...Die erzeugte org.bat sieht so aus:
> >
> > @echo off
> > cls
> > set -k=S
> > set -K1=S
> > set -l=GER
> > F:\allegro\ansi.com
> > set -P=F:\allegro
> > F:\allegro\index -fi0 -n0 -m0 -kS -d*.\ausw_* -eausw/. -Iausw
> > if exist .\ii1 goto qs
> > goto ende
> > :qs
> > F:\allegro\qrix -fq1 -kS -d. -eausw/. -x9999
> > :ende
> > if not exist .\vd*.tmp goto eende
> > del .\vd*.tmp
> > :eende
> > del .\ausw.sgf
> > start F:\allegro\a99 .\ausweis.ini
> > exit
> >
> > Das Problem:
> > Es sieht aus, als würden die Anweisungen hinter ":eende" nicht mehr ausgeführt, denn A99
> > wird nicht neu gestartet und beim Versuch, die Datenbank wieder aufzurufen, kommt erst
> > einmal "Kein Zugang wegen Wartung" und die SGF-Datei hat auch den entsprechenden Inhalt.
>
> Seltsam, wenn in dem Augenblick, zu dem ":eende" angesprungen wird, das
> Datenbankverzeichnis wirklich Arbeitsverzeichnis ist, dann müßte es klappen. Aber stimmt
> diese Voraussetzung? IN diese Richtung geht meine FRage von oben nach dem, was hinter
> "Ausführen in" im Kästchen steht. Oder eben, wenn Sie mit einer Stapeldatei aufrufen, ob
> Sie vor dem Aufruf von a99 sicher ins Datenbankverzeichnis gewechselt und dieses zum
> aktuellen gemacht haben.
>
Nach bestem Wissen und Gewissen: ja. Siehe oben. Eine Zusatzbeobachtung, die ich inzwischen
gemacht habe: beim kompletten Neuaufbau der Datenbank wird die sgf-Datei gelöscht und A99
wieder aufgerufen. Die org.bat unterscheidet sich von der für die Neuindexierung nur durch
den Parameter -f70 statt -fi0 beim INDEX-Aufruf.
In inxprod.flx und org.flx, die zuerst aufgerufen werden, kann ich auch keinen Hinweis auf einen
Verzeichniswechsel finden - und keinen Unterschied zwischen Neuindexierung und Datenbank-Neuaufbau,
abgesehen vom Aufruf von INDEX. Ich verstehe das nicht.
Dank und Gruß,
Koczian
--
Dr. Sibylle Koczian
Fasanenstrasse 12
D-82293 Mittelstetten
Mehr Informationen über die Mailingliste Allegro