Ich versuche einzurichten, eine einfache Transaktion deaktiviert. Mit Transaction sieht es wie folgt aus:Transaction Fehler gegen SQL Server 2000 - Der Partner Transaktions-Manager hat für meine Linq-to-Sql Aktionen gegen meine SQL 2000 Datenbank seine Unterstützung für Remote/Netzwerk-Transaktionen
using (TransactionScope transaction = new TransactionScope())
{
try
{
Store.DBDataContext dc = new Store.DBDataContext();
Store.Product product = GetProduct("foo");
dc.InsertOnSubmit(product);
dc.SubmitChanges();
transaction.Complete();
}
catch (Exception ex)
{
throw ex;
}
}
Allerdings halte ich die folgende Fehlermeldung erhalten:
Der Partner Transaktionsmanager seine Unterstützung für Remote/Netzwerk-Transaktionen deaktiviert hat. (Ausnahme von HRESULT: 0x8004D025)
Aber wenn ich die Transaktion mit einer herkömmlichen Transaktion einrichten, funktioniert es einwandfrei. Also das funktioniert gut:
Ich frage mich, ob das TransactionScope etwas anderes unter den Abdeckungen als meine zweite Implementierung tut. Wenn nicht, was verliere ich, wenn ich TransactionScope nicht verwende? Außerdem wäre jede Anleitung zu dem, was den Fehler verursacht, auch gut. Ich habe bestätigt, dass MSDTC sowohl auf SQL Server als auch auf meinem Clientcomputer ausgeführt wird.
Die DatabaseTransactionAdapter in der Post Florin Lazar referenzierten den Trick. Ich werde meinen Implementierungscode als Antwort veröffentlichen. –
Die Anweisungen zum Konfigurieren des MSDTC scheinen nicht für Windows 7 zu gelten. Ich habe nur eine Option unter der Registerkarte MSDTC, die besagt: Verwenden Sie den lokalen Koordinator oder den zu verwendenden Remote-Host. – Myster
Ich habe Anweisungen gefunden, um diese Einstellungen unter Windows 7 und 2008 zu finden! Schau hier: http://msdn.microsoft.com/en-us/library/aa561924(BTS.20).aspx – skb