Tengo el siguiente ejemplo que ejecuta, dos inserts que se hacen contra una BD que esta en un servidor, en mi ordenador funciona bien, he llevado el mismo ejemplo a otro ordenador y no funciona!! al intentar abrir la BD con la transacción da el siguiente error (sin transacciones va bien):
No se puede dar de alta la nueva transación en el coordinador de transacciones especificado.
Los dos equipos, el mio y el otro donde no funciona tiene las mismas caracteristica.
Código:
Dim conectionString As String = ConfigurationManager.ConnectionStrings.Item("bd1").ConnectionString() Dim sql1 As String = "INSERT ...." Dim sql2 As String = "INSERT ..." Using tran As New TransactionScope() Using con As New Data.OleDb.OleDbConnection(conectionString) con.Open() Using cmd As New Data.OleDb.OleDbCommand(sql1, con) cmd.ExecuteNonQuery() End Using Using cmd As New Data.OleDb.OleDbCommand(sql2, con) cmd.ExecuteNonQuery() End Using Using cmd As New Data.OleDb.OleDbCommand(sql3, con) cmd.ExecuteNonQuery() End Using Using cmd As New Data.OleDb.OleDbCommand(sql4, con) cmd.ExecuteNonQuery() End Using End Using tran.Complete() End Using
He comparado las propiedades del MSDTC en los dos equipos y están igual,
dentro del Servicio de componentes, en las propiedades de Mi PC, en la pestaña MSDTC, en la opción Configuración de seguridad:
- Acceso a DTC de la red (activado)
- No se requiere autenticacion (activado)
Todo lo demás desactivado
¿Sabe alguíen que es lo que sucede?