Aufhebung von FLock?

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

Moderator: Moderatoren

Aufhebung von FLock?

Beitragvon Wonderer » Fr, 08. Apr 2016 8:53

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... :)
Wonderer
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 107
Registriert: Do, 06. Jul 2006 12:24

Re: Aufhebung von FLock?

Beitragvon Rolf Ramacher » Fr, 08. Apr 2016 10:17

das ist dbunlock()

use new 123 exclusive

funkt. auf jedenfall
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1807
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim

Re: Aufhebung von FLock?

Beitragvon Wonderer » Fr, 08. Apr 2016 10:51

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...
Wonderer
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 107
Registriert: Do, 06. Jul 2006 12:24

Re: Aufhebung von FLock?

Beitragvon brandelh » Fr, 08. Apr 2016 11:58

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[i] als ganzes sperren ...

Ansonsten neu über das Problem nachdenken ;-)
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13268
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Aufhebung von FLock?

Beitragvon Herbert » Fr, 08. Apr 2016 14:36

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...
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1764
Registriert: Mi, 13. Aug 2008 23:22
Wohnort: Gmunden am Traunsee, Österreich


Zurück zu Newbie

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste