Entity-Framework - Frage zu Transaction und DTC-Fehlermeldung

22/02/2010 - 08:44 von M.Erlinger | Report spam
Hallo

ich verwende EF in Verbindung mit einer Sybase-Anywhere (11.01), und
bekomme bei Verwendung einer Transaction folgende Exception beim
Aufruf von SaveChanges():
InnerException = {"Teilnahme der Transaktion nicht möglich; DTC ist
vielleicht nicht aktiv"}

using (TransactionScope transaction = new TransactionScope())
{
try
{
Test cTest = new Test { Nachname = "Mustermann", Vorname "Herwig, Geburtsdatum = DateTime.Today };
objectContext.AddToTest(cTest);
objectContext.SaveChanges();

}

"objectContext" ist bereits erstellt, und eine Abfrage wurde zuvor
ausgeführt.
Ohne dem "using( TransactionScope" funktionert der Code, und der
Eintrag wird in der Datenbank angelegt.

Ich habe EF und Transactions in Verbindung mit dem SQL-Server schon
verwendet, und hatte dabei keine solchen Probleme - liegt dies
vielleicht an der Sybase-Anywhere-Datebank ??

Vielleicht kann mir dabei bitte jemand weiterhelfen
Danke schon mal & schönen Gruß
Michael
 

Lesen sie die antworten

#1 Marcel Roma
22/02/2010 - 10:48 | Warnen spam
Hallo,

Am Sun, 21 Feb 2010 23:44:20 -0800 (PST) schrieb M.Erlinger:

ich verwende EF in Verbindung mit einer Sybase-Anywhere (11.01), und
bekomme bei Verwendung einer Transaction folgende Exception beim
Aufruf von SaveChanges():
InnerException = {"Teilnahme der Transaktion nicht möglich; DTC ist
vielleicht nicht aktiv"}

Liegt dies vielleicht an der Sybase-Anywhere-Datebank ??



Vielleicht versuchst Du eine verteilte Transaktion auszuführen, und der
Distributed Transaction Coordinator ist tatsàchlich nicht aktiv?

Ein mit TransactionScope definierte Transaktion startet normalerweise als
lokale Transaktion. Eine lokale Trasaktion kann aber automatisch in eine
verteilte Transaktion umgewandelt werden (die DTC-Unterstützung braucht),
z.B. wenn

- es sich um nicht-Microsoft Datenanbieter handelt
- man eine neue Verbindung innerhalb des TransactionScope Cdoeblocks
herstellt


SYBASE-SUPPORT:
http://www.sybase.de/support

FEHLER-CODE:
http://infocenter.sybase.com/help/i...HJEJFB.htm

DTC-AKTIVIERUNG (Windows Server 2003):
http://support.microsoft.com/kb/817064




Gruss
Marcel

Ähnliche fragen