Estoy tratando de configurar una transacción simple para mis acciones Linq-to-Sql en mi base de datos Sql 2000. Usando TransactionScope se ve así:Error de TransactionScope contra Sql Server 2000 - El administrador de transacciones asociado ha deshabilitado su soporte para transacciones remotas/de red
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;
}
}
Sin embargo, me siguen dando el siguiente error: administrador de transacciones
El socio ha deshabilitado su soporte para las transacciones a distancia/red. (Excepción de HRESULT: 0x8004D025)
Pero, si configuro la transacción con una transacción tradicional, funciona bien. Por lo que este funciona bien:
Store.DBDataContext dc = new Store.DBDataContext();
try
{
dc.Connection.Open();
dc.Transaction = dc.Connection.BeginTransaction();
Store.Product product = GetProduct("foo");
dc.InsertOnSubmit(product);
dc.SubmitChanges();
dc.Transaction.Commit();
}
catch (Exception ex)
{
dc.Transaction.Rollback();
throw ex;
}
finally
{
dc.Connection.Close();
dc.Transaction = null;
}
Me pregunto si el TransactionScope está haciendo algo diferente bajo las sábanas de mi segunda aplicación. Si no, ¿qué estoy perdiendo al no usar TransactionScope? Además, cualquier orientación sobre qué está causando el error sería bueno también. Confirmé que MSDTC se está ejecutando en el servidor sql y en mi máquina cliente.
La DatabaseTransactionAdapter hace referencia en el post Florin Lazar hizo el truco. Publicaré mi código de implementación como respuesta. –
Las instrucciones para configurar el MSDTC no parecen aplicarse a Windows 7 Solo tengo una opción en la pestaña MSDTC que dice: use el coordinador local o especifique el host remoto para usar. – Myster
¡Encontré instrucciones para encontrar estas configuraciones en Windows 7 y 2008! Mire aquí: http://msdn.microsoft.com/en-us/library/aa561924(BTS.20).aspx – skb