none
Como manejar una Fbtransaction con 2 conexiones diferentes RRS feed

  • Pregunta

  • Quiero usar una fbtrasnaccion para 2 conexiones de diferentes bases de datos, como puendo enzalarlas para que ambas se ejecuten o por lo contrario, ninguna ejecute cambios
    sábado, 29 de septiembre de 2018 14:33

Respuestas

  • Eso se llama una transacción distribuida. Para usarla, añade una referencia a System.Transactions y usa el objeto TransactionScope:

    using (TransactionScope ts = new TransactionScope())
    {
        // Abrir conexion1
        // abrir conexion2
        // Usar ambas conexiones
        //Si todo ha ido bien:
        ts.Complete(); // esto hace un commit de la ransaccion
    } 
    // si sales del "using" sin haber llamado al .complete se hace un rollback de las dos transacciones.
    

    Tiene requisitos para funcionar: Es necesario que los drivers de base de datos empleados por las dos conexiones soporten el protocolo TX, y es necesario que en el equipo cliente y en los dos servidores tengas en marcha el coordinador de transacciones distribuidas (DTC) y que sus puertos estén abiertos en los firewalls.

    sábado, 29 de septiembre de 2018 17:17
    Moderador