Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   szenario 2 in einer Mehrbenutzerumgebung (https://www.delphipraxis.net/125412-szenario-2-einer-mehrbenutzerumgebung.html)

khh 5. Dez 2008 18:07

Datenbank: firebird • Version: 2.1 • Zugriff über: ZEOS

szenario 2 in einer Mehrbenutzerumgebung
 
hallo zusammen,
im ähnlichen Szenario wie in meinem vorherigen Posting, werden DS-geändert.
Heisst ich sperre zu Beginn der Bearbeitung den einzelnen DS und gebe ihn danach wieder frei.
Den andern Benutzern kann ich ja eine Meldung anzeigen.
Was mach ich aber wenn hier einer in Urlaub geht?

Und nach was ich die Meldungen, gibts wo ne Auflistung der Rückgabewerte aus der DB?



Danke Gruss KH

mkinzler 5. Dez 2008 18:11

Re: szenario 2 in einer Mehrbenutzerumgebung
 
Auf explizite Locks kann man in FB Dank seiner Multigeneratoren-Architektur weitgehenst verzichten

khh 5. Dez 2008 18:19

Re: szenario 2 in einer Mehrbenutzerumgebung
 
Zitat:

Zitat von mkinzler
Auf explizite Locks kann man in FB Dank seiner Multigeneratoren-Architektur weitgehenst verzichten


heisst das die DB sperrt den Satz selbst, solange die Query im edit-mode ist ?

und wie erfahre ich das von der DB um einen Benutzer der auf den gleichen Satz zugreifen will zu informieren ?

mkinzler 5. Dez 2008 18:22

Re: szenario 2 in einer Mehrbenutzerumgebung
 
Nein, aber dass Lese-Zugrriffe Schreibzugriffe nicht blockieren
http://www.ibphoenix.com/main.nfs?a=...ibp_mvcc_roman

In diesem Fall würde ich normal Lesen unf kurz vor dem Update ein Read mit Lock durchführen (select for update)

khh 5. Dez 2008 18:27

Re: szenario 2 in einer Mehrbenutzerumgebung
 
Zitat:

Zitat von mkinzler
Nein, aber dass Lese-Zugrriffe Schreibzugriffe nicht blockieren
http://www.ibphoenix.com/main.nfs?a=...ibp_mvcc_roman

In diesem Fall würde ich normal Lesen unf kurz vor dem Update ein Read mit Lock durchführen (select for update)

ok, select for update ist ne gute idee.


EDIT: ach ja gibts von firebird differenzierte Rückgabewerte, um z.B festzustellen ob die Tabelle/der Ds gerade gesperrt ist ?
ich danke dir


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz