Announcement

Collapse
No announcement yet.

DB-Tabelle gesperrt während Transaction

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

  • DB-Tabelle gesperrt während Transaction

    folgendes Problem:

    DB: SQL-Server
    C++ und VB.NET

    Mit einer C++ Applikation werden in einer ziemlich "großen" Transaction Datensätze in eine Tabelle geschrieben.

    Mit einer anderen Applikation (VB.NET) sollen nun parallel Datensätze aus der selben Tabelle gelesen werden. Ein Aufruf wie <select count(*) from TABLE where Status=20> liefert aber einen Timeout zurück, solange die C++-Apllikation die Transaktion nicht beendet hat.

    Die Frage:
    Gibt es eine Möglichkeit die Connection innerhalb der C++-Applikation so zu öffnen, das andere Applikationen dennoch auf die Datensätze der Tabelle zugreifen können (natürlich nur auf die Sätze, welche durch die C++-Applikation noch nicht committed wurden)

    Ich habe viel mit dem Mode und der IsolationLevel "gespielt", aber leider ohne Erfolg.

    Hier mein Connection-Code:
    pCon.CreateInstance(__uuidof(Connection));
    pCon->ConnectionTimeout = 30;
    pCon->Mode = adModeShareDenyNone;
    pCon->IsolationLevel = adXactIsolated;
    pCon->Open(s_conn, DBUser, DBPW, adOpenUnspecified);

    Die VB.NET-Applikation geht über das SqlConnection-Object

    Ich hoffe ich habe mich verständlich ausgedrückt und jemand weiß eine Lösung.

    Tnx.
    Olli
Working...
X