Se tiene un programa hecho en tres capas usando el servidor transaccional de
Microsoft(MTS) sobre Windows 2000 Server. La interface esta en Visual Basic
6.5 y la base de datos es SQL Server 2000. La interface visual tiene un
procedimiento vb_GRABAR y otro vb_IMPRIMIR. Se ejecuta la inteface visual y
al inicio, vb_GRABAR invoca al procedimiento almacenado sp_GRABAR en la base
de datos. El servidor SQL aún no ha terminado de procesar el sp_GRABAR y la
interface en visual basic pasa a la siguiente línea ejecutando seguidamente
vb_IMPRIMIR que a su vez, lanza a la impresora los datos esperados. Sin
embargo, el sp_GRABAR, por algún motivo, hace un rollback, eliminando asi la
transacción anterior(sp_GRABAR). El problema es que existe una
inconsistencia entre lo que se ha impreso y lo que ahora tiene la base de
datos luego del rollback. ¿Cómo solucionar este problema?
Leer las respuestas