[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