![]() |
Datenbank: Firebird • Version: 1.5 • Zugriff über: BDE
Firebird 1.5 - Transaction auf Wait setzen. Wie?
Hallo zusammen,
bekomme immer häufiger die Fehlermeldung: lock conflict on no wait transaction deadlock update conflicts with concurrent update. Ich möchte jetzt die Transaction auf "WAIT" setzen. Habe auch schon gegoogelt aber keine brauchbare möglichkeit gefunden. Kann mir jemand sagen`, mit welchem befehl ich das ändern kann? Vielen Dank! |
Re: Firebird 1.5 - Transaction auf Wait setzen. Wie?
Ist eine Einstellung der Transaktions-Isolation.
|
Re: Firebird 1.5 - Transaction auf Wait setzen. Wie?
d.h.?
Wo kann ich das Einstellen? |
Re: Firebird 1.5 - Transaction auf Wait setzen. Wie?
Bei der BDE äuft das afaik transparent.
|
Re: Firebird 1.5 - Transaction auf Wait setzen. Wie?
Ich habe jetzt die Delphi TDataBase Komponente auf "TransIsolation = tiRepeatableRead" gesetzt.
Geht das auch? |
Re: Firebird 1.5 - Transaction auf Wait setzen. Wie?
Klar geht das auch... die Isolationsstufe ist sogar noch "härter" als read-committed! Ob das dein WAIT jedoch ermöglicht, glaube ich nicht! Bei den UIB und bei FIBPlus kann man die Direktive WAIT/NOWAIT explizit setzen. Eventuell bietet TDatabase hier auch etwas zu an?
|
Re: Firebird 1.5 - Transaction auf Wait setzen. Wie?
Zitat:
Du musst bei deinen Transactions immer eine feste Reihenfolge einhalten. Angenommen du schreibst an einer Stelle zuerst in Tabelle A und dann noch in Tab B. In einer anderen Stelle im Programm schreibst du in Tabelle B, dann in C und dann in A. So kann dann ein Deadlock entstehen; vorallem dann wenn du zusätzlich bei Leseoperationen mit Select einen Tablock einsetzt. |
Re: Firebird 1.5 - Transaction auf Wait setzen. Wie?
Die BDE ist ziemlich buggy bei multi-user-applications. Es funktioniert meistens, aber manchmal nicht. Ich habe darauf verzichtet, das Problem zu ergründen. Ich habe drumherum programmiert.
|
Re: Firebird 1.5 - Transaction auf Wait setzen. Wie?
Hi @all,
transactions mit sql db's können recht komplex sein. gerade interbase/firebid haben da etliche kombinationsmöglichkeiten. ich habe das ganze thema vor ein paar wochen in einem webinar behandelt. es geht (meine ich jedenfalls) etwa 1,5 stunden. es ist kostenlos hier verfügbar : ![]() dort unter interbase schauen mit dem titel: Understanding InterBase Transactions In this session you learn the Transaction Handling with InterBase. Also some live demos with Delphi (you can use all techniques in other languages also) how to work in a perfect was between Client Applications and InterBase Server without having deadlocks, performance Problems, … ist aber in english, ok mit deutschen dialekt :-) viel spass gruss daniel (magin) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz