AW: [Allegro] V32.4 und Indexparameteraufruf

Fischer, Thomas fischer at sub.uni-goettingen.de
Mo Jul 9 17:05:50 CEST 2012


Hallo Herr Eversberg,

ich komme jetzt wieder dazu, mich mit dem Update zu beschäftigen.

> > ... etwas abseits der gerade laufenden Diskussion beschäftigt mich die
> > Frage, wie ich ein Update einer meiner Datenbanken geschickt
> > durchführe, es geht um etliche zigtausend Datensätze, die meist in
> > der Datenbank schon vorhanden sind. In der Dokumentation steht für
> > das alte Update (upd.exe?): -eparam/outfile Kontroll-Liste mit
> > Parameterdatei param.ALG in Datei outfile ausgeben und damit war es
> > möglich, die einzuspeisende Datei in aufgenommene und zurückgewiesene
> > Datensätze zu trennen. Geht etwas Ähnliches mit dem neuen update.exe
> > auch? Und wenn ja, müsste ich das als Flex selber programmieren oder
> > gibt es dafür eine vorgefertigte Lösung?

> Dasselbe wie oben: das neue  update.exe  versteht keinen Job, es
> startet acon, übergibt ihm  update.job  und acon führt ihn aus.
> Das intendierte Verhalten ist somit auch nichts in  acon.exe (schon
> gar nicht in  update.exe) fest einprogrammiertes oder eben nicht,
> sondern etwas, das in  update.job  eingebaut werden kann und in diesem
> Fall auch von Berger schon eingebaut wurde: Eine Option -e ist
> vorgesehen und macht dasselbe, was das alte  update.exe, und zwar genau
> dieses und kein Job, getan hätte.
> Am besten probieren Sie's mal aus.

Bei einem ersten Test mit -eparam/datei im Aufruf von update bekomme ich in datei Einträge der Art:

=== neuer Satz ===
#002 117712310  #002A00172332zZKA       #004 20120418/19:34:47  #004N199701241a #004Z20120418/19:34:47  #005 p  #007Z201204071a #800 Herrmann, Aloys    #805 Mathematiker       #806gm  #806nXA-DE      #808 1930w      #870 Köthen (Wirkungsort)       #
=== vorhandener Satz ===
#002 117712310  #003 pg11771231 #004 20090427/16:32:33  #005 prd        #007 20090720/16:05:37 hsd      #026 dm #800 Herrmann, Aloys    #805 Mathematiker       #806gm  #806oXA-DE      #807 Köthen     #808 1930w      #809 1935w      #

Das ist zwar auch instruktiv, aber nicht das was ich brauche: Ich möchte die *nicht gefundenen* Datensätze in einer Datei sammeln und mit einem neuen Primärschlüssel mit meiner Datenbank vergleichen.
In der mit -L angegebenen Logdatei sammeln sich nur die erfolgreichen Treffer, in upro werden nur Zeilennummer, Primärschlüssel und Suchergebnis angezeigt, beides hilft mir nicht weiter.
Gibt es diese Möglichkeit nicht bzw. muss ich die selber an der Stelle in update.job einprogrammieren, wo der Primärschlüsselvergleich erfolglos blieb (siehe auch meine obige Frage)?

Soweit ich weiß ist mit A99 überhaupt keine Ausgabe möglich, wenn ich die dortige update-Funktion (beschrieben unter h update) benutze, oder täusche ich mich da?

In update.job ist mir nicht klar was man mit drei Indexparameterdateien macht:
// * -i     Name der Indexparameter, falls neue Datenbank zu erzeugen ist
// * -I     Abweichende Indexparameterdatei
// * -y     Indexparameter (falls nicht default aus -b)
(-y wird allerdings ignoriert). Kann das zusammengefasst werden?

Ein einzelnes ASCII 01 in der letzten Zeile wird übrigens mit
"Fehler bei der Bearbeitung von #005p.hlg. Datei endet abrupt"
quittiert, das macht aber wohl nichts.

Mit freundlichen Grüßen
Thomas Fischer




Mehr Informationen über die Mailingliste Allegro