Announcement

Collapse
No announcement yet.

SQL Server 2000/2005 + ADO + Mehrbenutzerbetrieb

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL Server 2000/2005 + ADO + Mehrbenutzerbetrieb

    Hallo zusammen,
    habe ein Projekt mit etwa 120 Tabellen zu Betreuen.
    Wir verbinden uns via ADO auf die Datenbank.
    Da im Programm Transaktionen verwenden, kommt es mitlerweile zu sehr vielen Timeouts, da verschiedenste Locks auf den Datensätzen liegen.
    Mit der Software arbeiten momentan maximal gleichzeitig 30 Leute auf einer Datenbank (Entweder SQL Server 2000 oder 2005, teilweise schon 2008).

    Nun ist es mein Ziel, die Timeouts zu entfernen.
    Momentan verwende ich folgende Einstellungen für die ADOConnection:
    Code:
    TAdoConnection(DB).Attributes := [xaCommitRetaining, xaAbortRetaining];
    TAdoConnection(DB).IsolationLevel := ilReadUncommitted;
    TAdoConnection(DB).LoginPrompt := False;
    TAdoConnection(DB).ConnectionTimeout := 30;
    TAdoConnection(DB).CommandTimeOut := 0;
    TAdoConnection(DB).Connected := True;
    TADOConnection(DB).Execute('SET LOCK_TIMEOUT 30000');
    Die Transaktionen werden immer so kurz wie möglich und so lang wie nötig offen gehalten. Leider kann es aber vorkommen, dass eine Nutzer halt einen Kaffee trinken gehen und somit eine Transaktion geöffnet bleibt (Das alte Leiden halt).

    Nun meine Frage:
    Welche Einstellungen, sollten für einen Mehrbenutzer-Betrieb einer SQL Server Datenbank mit Transaktionsnutzung, für die ADO-Connnection gelten?

    Vielen Dank für eure Mithilfe.

  • #2
    Hat eventuell jemand eine Idee???

    Comment

    Working...
    X