Was ich da irritierend finde ein "Lock" conflict bei insert.
1. Das kann vorkommen, wenn die
DB kein Row Level Locking kann.
Weiß nicht, wie das da bei
IB und genau dieser Version aussieht.
2. Die zugehörige Fehlermeldung (seitens Firebird) spricht in der Erläuterung von Updates oder Deletes, nicht von Inserts.
Daraus ergibt sich die Frage, fliegen hier nebenläufig noch andere Anweisungen rum?
Ist das "dynamisch" generierte Statement tatsächlich korrekt? (Werden die ID verwendet (Master), die auch gewünscht sind?
Oder bestehen beim Master oder Detail Tabelle andere Abhängigkeiten in Form von Triggern oder cascading constraints, die zu diesem Problem führen (bspw. Selbstreferenz, ...)
(Quelle
http://www.firebirdfaq.org/faq109/ -hab mir nicht die Mühe gemacht, nach original
IB Doku zu suchen, ist also vielleicht irreführend, was da steht)
P.S.: Der Isolation level sollte m.E. ok sein.