Re: autom. interner ROLLBACK von Transaktionen?

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



Hallo Elmar!

Beachte das ADODB unter Umständen eine weitere Verbindung
im Hintergrund erstellt, wenn z. B. das Recordset die
Verbindung belegt.

Dann würde die Transaktion in einer neuen Sitzung erstellt
(und genauso schnell wieder verschwinden).

Was sind denn das für Umstände, in denen er eine weitere Verbindung
öffnet?

Z. B.: <URL:http://support.microsoft.com/kb/235282>
"INFO: SQL Server Spawns Additional Connections When You Open Multiple
ForwardOnly ADO Recordsets"
Bei ausschließlicher Nutzung von adUseClient sollte das nicht
passieren - wobei die Client Recordsets im Hintergrund mit einem
Forward/ReadOnly Cursor arbeiten, und die Connection erst wieder
frei ist, wenn alle Daten gelesen wurden.

Allerdings hast Du da einiges an [Code] angezeigt, von dem ich
nicht weiß, was er so tut.
Um das zu überprüfen, lasse den SQL Server Profiler mitlaufen.
Tauchen dort weitere SPIDs auf, so hast Du ein Problem.

Wir haben inzwischen herausgefunden, dass das Problem wirklich daher kommt, dass "die eine" ADODB-Connection, die unsere Anwendung verwendet, z.T. mehrfach verwendet wird und somit genau das passiert, was Du da oben beschrieben hast (TA-Begin/Commit in einer ganz kurzen separaten Verbindung).

Ursache hierfür sind ein paar Timer (bzw. hauptsächlich einer), die periodisch etwas prüfen und dazu Daten aus der DB benötigen. Tritt dies genau zu nem Zeitpunkt auf, zu dem der Nutzer gerade interaktiv das macht, was die Transaktion nutzt, dann duelliert das eben ggf.

Kann man denn der ADODB-Connection irgendwie verbieten, zusätzliche Verbindungen zu öffnen und stattdessen einfach zu warten, bis der andere Prozess abgeschlossen ist?


--
Mit freundlichen Grüßen
Daniel Barisch

.



Relevant Pages

  • Re: Fehler bei closeconnection
    ... > kein Formular mit Datenbindung oder andere Recordsets offen sein, ... > die über die Verbindung laufen. ... > DoEvents ... Sorry, für die späte Rückmeldung. ...
    (microsoft.public.de.access.clientserver)
  • Re: 2 Recordsets mit einer Connection ?
    ... wenn Du zwei Recordsets mit einer Connection haben möchtest, ... "Jörg Harnisch" <Harnisch@wbg wolfen. ... > Laufzeitfehler 3709 - Die Verbindung kann nicht verwendet werden, ...
    (microsoft.public.de.vb.datenbank)
  • Re: Frage an P. Götz: Recordset vorhanden
    ... ><die Existenz eines Recordsets. ... ><Client anforderst (RS öffnen, RS.Requery, RS.Resync ... >kommt immer noch kein Fehler. ... kannst du die Verbindung prüfen. ...
    (microsoft.public.de.vb.datenbank)
  • Re: Frage an P. Götz: Recordset vorhanden
    ... <die Existenz eines Recordsets. ... <Client anforderst (RS öffnen, RS.Requery, RS.Resync ... wenn die Verbindung unterbrochen ist. ... kommt immer noch kein Fehler. ...
    (microsoft.public.de.vb.datenbank)