Zitat von
hoika:
Hallo,
Hast du vielleicht false statt False geschrieben ?
Heiko
Hier die Stelle wo DBExpress diese Option ausliest, du siehst, er uppercased es und nur wenn True steht passiert was. D. h. ich könnte "nö" schreiben und er würde es auch als False interpretieren
FISQLConnection.SetOption(eConnWaitOnLocks, LongInt(UpperCase(trim(FParams.Values[WAITONLOCKS_KEY])) = 'TRUE'));
Also anders als im Artikel gesagt, funktioniert WaitOnLocks leider garnicht bei mir. Was ich bräuchte wäre, wie es die IBTransaction-Komponente bietet, ist die Möglichkeit NOWAIT für eine Transaktion zu definieren, so daß ich sofort eine Fehlermeldung bekomme. Die Erste Antwort im deinem Artikel spricht von einer 2. Option "Not Wait" aber wie man diese zum Laufen bringt, verät der Autor leider nicht:
Zitat:
If you long transactions
wait, your app will appears to hang when this occurs. Naturally, the
second option is to not wait. This means when an update conflict occurs
you get an error immediately.
Der andere Lösungsansatz mit der LockTable würde zu viel Aufwand und Unwägbarkeiten für mein Projekt bedeuteten. Und davon abgesehen halte ich es für unsinnig FirebirdsLockTable nochmal für meine App zu programmieren.
Falls euch noch andere Wege einfallen, wäre ich auch weiterhin sehr dankbar für Input
Vielen Dank Hoika für die schnelle Hilfe,
Grüße Benjamin