AVANTI: GM vermisst

Michael Lackhoff lackhof at uni-muenster.de
Di Mär 17 15:25:59 CET 1998


On 17 Mar 98, Dierk Hoeppner wrote:

> > Das steht auch ganz oben auf meiner Wunschliste. Ich wuerde es sogar 
> > sehr begruessen, wenn ich nicht nur einen Datensatz sondern (mit 
> > Timeout oder Ueberwachung des Sockets wegen Client/Server) die ganze 
> > Datenbank kurzzeitig sperren koennte, um auch Manipulationen mit 
> > Avanti machen zu koennen, die sehr sensibel auf mehrere Anwender im 
> > Netz reagieren (bes. alle Arten von fortlaufenden Nummern).
> Manipulationen dieser Art werden eigentlich bei allen anderen 
> Datenbanksystemen nur im Offline-Zustand (nachts und am Wochenende) 
> gemacht, um Dateninkonsistenzen zu vermeiden. Bei allegro sollte man 

Das wuerde mich sehr wundern. Ich war kuerzlich bei einer recht 
umfangreichen Praesentation verschiedener Bibliothekssoftware. Alle 
Anbieter setzten auf Client/Server (Standard-)Datenbanken und alle 
erlauben auch im Netz solche Funktionen. Ich weiss zwar nicht, wie 
sie es unter der Oberflaeche realisiert haben aber es geht und ich 
wuerde es gern mit allegro auch machen koennen.

> aehnlich verfahren. Am einfachsten geht das natuerlich, indem man 
> avanti stoppt und mit den altbekannten Programmen auf die Datenbank 
> losgeht. Wer avanti fuer solche umfangreichen Manipulationen trotzdem 
> nutzen will - verglichen mit dem Direktzugriff ist die Nutzung von 
> avanti langsamer -, kann ihn ja starten und dabei auf einem andern 
> Port horchen lassen. 

Es geht nicht so sehr um besonders umfangreiche Operationen, sondern 
um welche, wo ich Angst haben muss, dass auf einmal eine 
Exemplarnummer oder Signatur doppelt vergeben wird, weil zwischen 
"Nachschauen letzte Signatur" und "Schreiben Datensatz" jemand im 
Netz dazwischengefunkt hat. 

> Wenn Sie es so machen, brauchen Sie, meine ich, auch keine gesonderte 
> Globale Manipulation in der avanti-Sprache.
> 
> Oder? Widerspruch ist sehr willkommen.

Der Titel "Globale Manipulation" ist wohl nur ein Nebeneffekt. Was 
ich moechte, ist die Kombination "sperren, bearbeiten, speichern, 
freigeben", die es aus gutem Grunde in den normalen Programmen gibt 
(und dabei "bearbeiten" weiter gefasst als die Moeglichkeiten der 
avanti-Sprache).
Ich sehe ein, dass das in einem Client-Server System besondere 
Vorkehrungen verlangt ("vergessene" geoeffnete Saetze). Um einen 
vollwertigen netzwerkfaehigen Client zu schreiben komme ich aber wohl 
nicht ohne aus. Der bisherige Schutz auf Satzebene (ueber 
Aenderungsdatum) ist schon sehr gut und wichtig. Fuer die Konsistenz 
der Datenbank als Ganzes ist aber wohl noch mehr noetig.
Bisher brauche ich fuer die fraglichen Aktionen zwei Jobs und 
zwischen denen kann jede Menge passieren, das ich nicht kontrollieren 
kann. Und hier treffen sich, meine ich, die Anfragen von Herrn 
Berger, Frau Koczian (Ihre Antwort: "Geht nicht in einem Job") und 
meine eigene.
Ich hatte auch einige Auesserungen von Ihnen und Herrn Eversberg so 
verstanden, dass in dieser Richtung bald mehr zu erwarten waere 
- habe ich das so falsch verstanden?

Viele Gruesse
Michael Lackhoff

p.s.: Haben Sie mit Pythonwin schon weitergekommen? Ich habe mich 
vorlaeufig auf Tkinter verlegt, wegen Portabilitaet und weil ich MFC 
nicht kann. Wenn Sie gute Erfahrungen gemacht haben, schaue ich mir 
das aber auch noch einmal an.

########################################################################
# Michael Lackhoff                     e-mail  lackhof at uni-muenster.de #
# Hoersterplatz 4                      Tel.    0251-4833257            #
# 48147 Muenster                       FAX     0251-4833275            #
# Hochschule der Franziskaner und Kapuziner in Muenster                #
########################################################################




Mehr Informationen über die Mailingliste Allegro