domingo, 26 de marzo de 2023

This SqlTransaction has completed; it is no longer usable

¿Qué tal?, les cuento que al realizar transacciones con SqlCommand, me surgía el siguiente error: This SqlTransaction has completed; it is no longer usable, mi tarea hacia inserción en tres tablas, una cabecera y dos de detalle, pero en la segunda inserción aparecía el error.

Si bien, la transacción se realizaba, pues note que los inserts si se realizaban en las tres tablas, la rutina marcaba una excepción y eso no me gustaba, por lo que decidí investigar y hacer pruebas para encontrar que lo provocaba, la respuesta fue que después de hacer un commit o un rollback en la transacción, debe inicializarse una nueva transacción de lo contrario estaremos "reutilizando" una que ya había llegado a su fin, para hacerlo solo debí como les dije inicializar de esta manera mi nueva transacción:

 SqlTransaction transaction = sqlConn.BeginTransaction();}

¡Saludos! 

No hay comentarios:

Publicar un comentario