AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Warum sperrt Firebird den gemeinsamen Zugriff ?

Warum sperrt Firebird den gemeinsamen Zugriff ?

Ein Thema von hsbc · begonnen am 10. Jun 2005 · letzter Beitrag vom 10. Jun 2005
Antwort Antwort
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#1

Warum sperrt Firebird den gemeinsamen Zugriff ?

  Alt 10. Jun 2005, 14:31
Datenbank: Firebird • Version: 1.5.2 • Zugriff über: Delphi 7 Professional + Zeos-Lib.
Hallo allerseits,

Wenn ich meine Anwendung im lokalen Netzwerk von 2 Rechner aus gleichzeitig verwende, dann gibt es Probleme beim gleichzeitigen Zugriff auf die Tabellen.

Computer 1 = Server IP: 192.168.000.002
Computer 2 = Client IP: 192.168.000.005
Die ZConnection befindet sich auf einem DatenModul und wird gemeinsam verwendet.
Die ZQuery's befinden sich in den jeweiligen Formularen, haben aber den gleichen Namen (ZQ_Anbot), was aber funktionieren müsste, da sie ja auf verschiedenen Formularen liegen.

TransactIsolationLevel der ZConnection = tiSerializeable
ReadOnly der ZConnection = false

Die Sperre tritt nach einem Schreibzugriff auf die Tabelle ein. Muss ich hier nach dem Schreibzugriff explizit etwas freigeben?
Die Sperre wird erst beendet, wenn ich auf dem anderen Rechner den Programmzweig beende, das heisst, die ZQuery dort geschlossen wird.

Wie kann ich erreichen, dass mehrere Anwender im Netzwerk gemeinsamen Schreibzugriff auf die Tabelle haben? Die Anwendung ist so aufgebaut, dass mehrere Anwender nie den gleichen Datensatz bearbeiten können und trotzdem funktioniert das nicht.

mfg
Herbert
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Warum sperrt Firebird den gemeinsamen Zugriff ?

  Alt 10. Jun 2005, 14:36
Zitat von hsbc:
Die Sperre tritt nach einem Schreibzugriff auf die Tabelle ein. Muss ich hier nach dem Schreibzugriff explizit etwas freigeben?
Die Sperre wird erst beendet, wenn ich auf dem anderen Rechner den Programmzweig beende, das heisst, die ZQuery dort geschlossen wird
Willst Du von PC2 ohne zu schließen der Query auf den gleichen Datensatz schreibend zugreifen und ist auf PC2 die Query vor dem bearabeiten auf PC1 geöffnet worden?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#3

Re: Warum sperrt Firebird den gemeinsamen Zugriff ?

  Alt 10. Jun 2005, 15:07
Hallo Bernhard,

nein, auf den gleichen Datensatz kann in der Regel nicht gleichzeitig zugegriffen werden, da das System so aufgebaut ist:

Primärer Key besteht aus: ANBOTNR + SATZNR

und jeder User hat seine eigene ANBOTNR-Serie, daher dürfte da schon mal kein Konflikt zustandekommen.

Was mir aber in der Zwischenzeit aufgefallen ist, ist der TransactIsolationLevel, welchen ich auf tiSerializeable gestellt hatte. Ich probiere derzeit mit der Einstellung auf none - hier dürfte es so weit ich bis jetzt gesehen haben, funktionieren, hoffentlich war dies kein Zufall.

mfg
Herbert
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 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