Wenn man in seinem Quellcode am Anfang die DB mit einem FLock absichert dann aber im späteren Verlauf vor Änderungen ein DbRLock verwendet
wird dann dadurch das FLock aufgehoben?
naja, ich merke gerade beim Fragen das was ich erreichen möchte ist wohl besser mit EXCLUSIVE & NetErr zu machen...
Aufhebung von FLock?
Moderator: Moderatoren
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Aufhebung von FLock?
oh, Missverständnis. Die Frage war nicht wie ich das FLock aufhebe.
Angenommen ich habe folgenden Code:
Ist jetzt die ANY.DBF nach dem DbCommit() noch komplett gesperrt?
Hmm... nicht so wichtig - ein Anwendungsfall wo das wichtig wäre fällt mir da gar nicht ein...
Angenommen ich habe folgenden Code:
Code: Alles auswählen
USE "ANY.DBF"
FLock()
// snip...
SEEK somewhere
DbRLock()
REPLACE field1 WITH value1
REPLACE field2 WITH value2
DbCommit()
// more code...
Hmm... nicht so wichtig - ein Anwendungsfall wo das wichtig wäre fällt mir da gar nicht ein...
- brandelh
- Foren-Moderator
- Beiträge: 15706
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 70 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Aufhebung von FLock?
Ich denke ein FLock() sollte einen dbRLock() verhindern, da die Datei ja schon gesperrt ist.
Bin mir aber nicht sicher. Die Frage stellt sich aber auch nicht wirklich, denn ...
1. Frage wird die Datei noch von anderen benötigt ? NEIN, dann EXCLUSIV öffnen, locken unnötig und viel schneller !
2. JA, ok brauche ich in einer Situation aber kompletten Zugriffsschutz, weil ich z.B. alle Rechnungen eines Kunden löschen will etc. ? => FLOCK() - Operation so schnell wie möglich machen, kein RLock() !
3. JA, aber alle müssen auch können, FLOCK() verboten, weil es alle aussperrt ... Problem !
3.1 Ich brauche nur einen Satz, dann dbRlock()
3.2 Ich brauche mehrere Sätze, dann dbRlock(aBenötigteSatznummern als ganzes sperren ...
Ansonsten neu über das Problem nachdenken
Bin mir aber nicht sicher. Die Frage stellt sich aber auch nicht wirklich, denn ...
1. Frage wird die Datei noch von anderen benötigt ? NEIN, dann EXCLUSIV öffnen, locken unnötig und viel schneller !
2. JA, ok brauche ich in einer Situation aber kompletten Zugriffsschutz, weil ich z.B. alle Rechnungen eines Kunden löschen will etc. ? => FLOCK() - Operation so schnell wie möglich machen, kein RLock() !
3. JA, aber alle müssen auch können, FLOCK() verboten, weil es alle aussperrt ... Problem !
3.1 Ich brauche nur einen Satz, dann dbRlock()
3.2 Ich brauche mehrere Sätze, dann dbRlock(aBenötigteSatznummern als ganzes sperren ...
Ansonsten neu über das Problem nachdenken
Gruß
Hubert
Hubert
- Herbert
- Der Entwickler von "Deep Thought"
- Beiträge: 1991
- Registriert: Do, 14. Aug 2008 0:22
- Wohnort: Gmunden am Traunsee, Österreich
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Aufhebung von FLock?
Das Flock bleibt aktiv bis zum Aufheben oder Schliessen der Datei. Rlock sind wie Hubert schreibt von dir aus geshen nicht wirksam. Will einer von aussen her Rlocken, dann kommt ein Fehler. commit speichert ab hat aber keinen Einfluss auf den Lockstatus.Wonderer hat geschrieben:Wenn man in seinem Quellcode am Anfang die DB mit einem FLock absichert dann aber im späteren Verlauf vor Änderungen ein DbRLock verwendet
wird dann dadurch das FLock aufgehoben?
Grüsse Herbert
Immer in Bewegung...
Immer in Bewegung...