Aufhebung von FLock?

Eigentlich ist mir die Frage peinlich, aber es kann sonst niemand helfen ... :)

Moderator: Moderatoren

Antworten
Wonderer
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 107
Registriert: Do, 06. Jul 2006 13:24

Aufhebung von FLock?

Beitrag von Wonderer »

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... :)
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Aufhebung von FLock?

Beitrag von Rolf Ramacher »

das ist dbunlock()

use new 123 exclusive

funkt. auf jedenfall
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Wonderer
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 107
Registriert: Do, 06. Jul 2006 13:24

Re: Aufhebung von FLock?

Beitrag von Wonderer »

oh, Missverständnis. Die Frage war nicht wie ich das FLock aufhebe.

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...
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...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Aufhebung von FLock?

Beitrag von brandelh »

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 ;-)
Gruß
Hubert
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
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?

Beitrag von Herbert »

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?
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.
Grüsse Herbert
Immer in Bewegung...
Antworten