Listeros, tengo una duda "casi existencial". Estamos armando una capa de
negocios sobre una BD SQL 2005 ya en funcionamiento. La BD en cuestiĆ³n opera
a partir de un conjunto extenso de Stored Procedures y se nos plantea la
siguiente duda

Supongamos que un componente de .NET 2.0 utiliza ADO.NET y hace lo siguiente

            SqlConnection conn = new SqlConnection();
            conn.Open();
            SqlTransaction tran = conn.BeginTransaction();

            try
            {
                //Ejecuta SP "A"
                //Ejecuta SP "B"
                //Ejecuta SP "C"
                //Ejecuta SP "D"

                tran.Commit();
            }
            catch
            {
                tran.Rollback();
            }
            finally
            {
                conn.Close();
            }


Esto funciona bien sin inconvenientes pero lo que detectamos es que ciertos
SPs llaman a otros y hacen lo siguiente (con TSQL)

        Procedure "B"
        begin
                Begin transaction
        
                Exec "B1" 
                Exec "B2"
        
                Commit transaction
        end


En este caso, que pasa con esta transaction? Se abre una anidada? Opera
sobre la de ADO.NET?

Saludos
Esteban



Reply via email to