[Allegro] Batch-Datei

Thomas Berger ThB at Gymel.com
Do Aug 4 11:38:22 CEST 2011


Lieber Herr Falk,

> Das Problem: Das Programm durchsucht die Datenbank, verändert aber
> falsch eingeordnete Deskriptoren seit einer gewissen Weile (ca. 3
> Wochen?) nicht mehr. Anhand der LOG Datei kann man sehen, dass auch
> fehlerhafte Einträge "bearbeitet" wurden ohne diese jedoch zu verändern.
> 
> Da es sich auch um Perl handelt und meine Kenntnisse da recht bescheiden
> sind, wäre ich für jede Hilfe dankbar. Soll ich die betreffenden Dateien
> als Anhang beifügen?
> 
> Hier das fehlerhafte Skript:

es wird also eine Volltextsuche durch die ganze Datenbank gemacht,
die (sofern "i-u" nicht modifiziert wurde) alle Saetze exportiert,
die (derzeit, ungefaehr) in den letzten 5 Jahren angefasst wurden.

[im Srch-Aufruf faellt die Angabe "-d *ifs" auf: Neuere SRCH.EXE
wuerde damit u.u. nichts mehr selektieren, "-d%-d%\%-b%_*" waere
angemessener (nicht getestet)]

Ergebnis in u.alg, das sofort nach rohdaten.alg verschoben wird.
[Moegliche Fehlerquelle: scheitert das evtl., d.h. umgekehrt
gefragt: ist rohdaten.alg auch wirklich "neu"?]

Das Perlskript produziert nun anscheinend eine update.alg,
da muessten Sie beurteilen koennen, ob die Daten darin die
bzgl. Inhalt und Aktualitaet erwuenschten sind. [Auch hier
wie beim "move" oben besteht die theoretische Moeglichkeit, dass
ein altes "update.alg" persistiert, etwa weil der Perl-
Interpreter verschwunden ist o.ae.]

Das anschliessende Update sieht harmlos aus, wenn man
Ihre Aussagen zur Logdatei mit einbezieht [auch hier
natuerlich die Chance, dass es eine alte Logdatei ist;
insgesamt sollte Ihre .Bat-Datei evtl. anfangs alle
Dateien loeschen, die spaeter erzeugt werden, manchmal
sieht man dann unmittelbar, dass ab einer gewissen Stelle
nichts mehr passiert ist]

Mir faellt auch noch eine moegliche Fehlerquelle jenseits
Ihrer .bat-Datei ein: Angenommen, es gab vor einigen Wochen
ein Problem mit dem Index, die Datensaetze sind inzwischen
schon laengst, wie sie sein sollten, im Index hat es
kurzzeitig "geklemmt" und alte Eintraege sind zurueckgeblieben:
Dann stellt das Update fest, dass es bei den Schluesseln
keinen Unterschied zwischen "soll" und "ist" gibt und
aendert den Index nicht ("ist" ist ja nicht der tatsaechliche
Befund im Index, sondern das, was der "ist"-Satz mit der aktuellen
Indexparameterdatei produzieren wuerde).
Es koennte sich daher lohnen, an der Datenbank einmal die
Funktion "Index wiederherstellen" auszufuehren und zu schauen,
ob das Problem anschliessend weg ist...

viele Gruesse
Thomas Berger






> 
>> @echo off
>>
>> REM ----- PFADE -------------------------------------
>> set -P=K:\Allegro
>> set -b=K:\Allegro\IFS\ifs
>> set DBDIR=K:\Allegro\IFS
>> set -d=*%DBDIR%
>> set PERLEXE="C:\perl\perl\bin\perl.exe"
>> set PATH=%PATH%;%-P%
>> REM -------------------------------------------------
>>
>> cd %DBDIR%
>>
>> if exist kls.alg del kls.alg
>> srch -f6 -F -m0 -e i-1/kls.alg -d ifs_255.ald -b %-b%
>>
>> REM  Auswahl der zu bearbeitenden Datensätze
>> rem for /f "tokens=1-3 delims=. " %%a in ('date /t') do set TODAY=%%c%%b%%a
>> srch -m0 -f4 -e i-u/u.alg -b%-b% -s(#99nG20061015)/(#99eG20061015) -d *ifs
>>
>> if exist rohdaten.alg del rohdaten.alg
>> move u.alg rohdaten.alg
>>
>> %PERLEXE% kls-upd.pl
>>
>> update -fm40 -u update.alg -d ifs -x update.log -R -n1 -m0
> 
> 
> 
> Mit bestem Gruß
> 
> Simon Falk
> 
> 
> 
> _______________________________________________
> Allegro mailing list
> Allegro at biblio.tu-bs.de
> http://sun250.biblio.etc.tu-bs.de/mailman/listinfo/allegro



Mehr Informationen über die Mailingliste Allegro