Hallo,
welche Methoden sind empfehlenswert, um mit IBX (4.2) einen schnellen Multiuserbetrieb mit IB 5.6 / IB 6 zu erreichen?
Konkret habe ich folgende Fragen:
1) Zwei User ändern den selben Datensatz. Wer als erster speichert, soll "gewinnen". Der zweite soll eine Fehlermeldung erhalten. Wie läßt sich das realisieren?
2) Die Änderung eines Users A an einem Datensatz sollen alle anderen User mitbekommen, indem (manuell) ein TIBDataset.Refresh aufgerufen wird. Hierzu muss A seine Änderung aber mittels COMMIT festschreiben. Muss also manuell nach jedem POST ein CommitRetaining gemacht werden???
3) Transaktionen sollen bekannterweise so kurz wie möglich sein. Sobald ich aber eine TIBDataset öffne, um damit beispielsweise eine Liste zu füllen, ist die Transaktion offen und bleibt es auch, solange die Query geöffnet ist. Ist das ok? Ändert der User nun in der Liste einen Eintrag, wird das UPDATE-Statement in TIBDataset.ModifySQL aufgerufen. Läuft das unter der selben Transaktion? Wann ist ein Commit(Retaining) sinnvoll?
4) Ist es sinnvoll, für jedes TIBDataset ein eigene TIBTransaction zu definieren? Das würde ich eigentlich gerne vermeiden...
Gibt es irgendwo gute Grundlagenartikel oder Literatur? Freue mich über jeden Hinweis!
Beste Grüße,
Georg
welche Methoden sind empfehlenswert, um mit IBX (4.2) einen schnellen Multiuserbetrieb mit IB 5.6 / IB 6 zu erreichen?
Konkret habe ich folgende Fragen:
1) Zwei User ändern den selben Datensatz. Wer als erster speichert, soll "gewinnen". Der zweite soll eine Fehlermeldung erhalten. Wie läßt sich das realisieren?
2) Die Änderung eines Users A an einem Datensatz sollen alle anderen User mitbekommen, indem (manuell) ein TIBDataset.Refresh aufgerufen wird. Hierzu muss A seine Änderung aber mittels COMMIT festschreiben. Muss also manuell nach jedem POST ein CommitRetaining gemacht werden???
3) Transaktionen sollen bekannterweise so kurz wie möglich sein. Sobald ich aber eine TIBDataset öffne, um damit beispielsweise eine Liste zu füllen, ist die Transaktion offen und bleibt es auch, solange die Query geöffnet ist. Ist das ok? Ändert der User nun in der Liste einen Eintrag, wird das UPDATE-Statement in TIBDataset.ModifySQL aufgerufen. Läuft das unter der selben Transaktion? Wann ist ein Commit(Retaining) sinnvoll?
4) Ist es sinnvoll, für jedes TIBDataset ein eigene TIBTransaction zu definieren? Das würde ich eigentlich gerne vermeiden...
Gibt es irgendwo gute Grundlagenartikel oder Literatur? Freue mich über jeden Hinweis!
Beste Grüße,
Georg
Comment