Duda sobre mejor forma de realizar las transacciones

23/02/2006 - 18:19 por Julián | Informe spam
Hola grupo:

Quisiera saber realmente cuál sería la mejor forma de montar una transacción
en una grabación de pedidos.
La opción que ahora mismo tengo es comenzar la transacción al principio de
grabar el pedido y finalizarla tras grabar todos los datos referentes al
pedido: la cabecera, las líneas, los acumulados de almacén y el riesgo en
cartera del cliente.
De esta forma también me aseguro que un pedido nunca se quede a medio
grabar. Es decir, que si hubiera algún corte durante la grabación que dejara
el pedido por completo sin grabar.
El problema que estoy teniendo con este sistema es que en pedidos grandes
está provocando muchos bloqueos que están afectando al resto de usuarios de
la aplicación.
¿ Es ésta la mejor forma de hacerlo o me aconsejan hacerlo de otra forma ?

Saludos.

Preguntas similare

Leer las respuestas

#1 Maxi [MVP]
23/02/2006 - 23:46 | Informe spam
Hola, a ver, la transaccion esta bien que este asi, porque como bien vos
dices puede quedar un pedido trunco y eso no seria soportado quizas. Ahora
que se bloquee es por la transaccion en si pero tambien habria que ver como
estas haciendo cada paso, por ej, si usas cursores haras mas larga la
transaccion. En la mayoria de los casos un pedido con todo su esquema no
deberia demorar mas de 2s.
Porque no revisas como estas haciendo cada parte ahi estas teniendo el
problema


Salu2
-
[MVP] SQL Server
Orador para Culminis Latam
www.sqlgurus.org

MSN:

"Julián" escribió en el mensaje
news:%
Hola grupo:

Quisiera saber realmente cuál sería la mejor forma de montar una
transacción en una grabación de pedidos.
La opción que ahora mismo tengo es comenzar la transacción al principio de
grabar el pedido y finalizarla tras grabar todos los datos referentes al
pedido: la cabecera, las líneas, los acumulados de almacén y el riesgo en
cartera del cliente.
De esta forma también me aseguro que un pedido nunca se quede a medio
grabar. Es decir, que si hubiera algún corte durante la grabación que
dejara el pedido por completo sin grabar.
El problema que estoy teniendo con este sistema es que en pedidos grandes
está provocando muchos bloqueos que están afectando al resto de usuarios
de la aplicación.
¿ Es ésta la mejor forma de hacerlo o me aconsejan hacerlo de otra forma ?

Saludos.

Respuesta Responder a este mensaje
#2 Julián
24/02/2006 - 08:12 | Informe spam
El problema principalmente viene con pedidos grandes. Imagínate un pedido de
100 líneas.
Realmente se lleva por ejemplo 2 miuntos en grabarlas todas.

"Maxi [MVP]" escribió en el mensaje
news:%
Hola, a ver, la transaccion esta bien que este asi, porque como bien vos
dices puede quedar un pedido trunco y eso no seria soportado quizas. Ahora
que se bloquee es por la transaccion en si pero tambien habria que ver
como estas haciendo cada paso, por ej, si usas cursores haras mas larga la
transaccion. En la mayoria de los casos un pedido con todo su esquema no
deberia demorar mas de 2s.
Porque no revisas como estas haciendo cada parte ahi estas teniendo el
problema


Salu2
-
[MVP] SQL Server
Orador para Culminis Latam
www.sqlgurus.org

MSN:

"Julián" escribió en el mensaje
news:%
Hola grupo:

Quisiera saber realmente cuál sería la mejor forma de montar una
transacción en una grabación de pedidos.
La opción que ahora mismo tengo es comenzar la transacción al principio
de grabar el pedido y finalizarla tras grabar todos los datos referentes
al pedido: la cabecera, las líneas, los acumulados de almacén y el riesgo
en cartera del cliente.
De esta forma también me aseguro que un pedido nunca se quede a medio
grabar. Es decir, que si hubiera algún corte durante la grabación que
dejara el pedido por completo sin grabar.
El problema que estoy teniendo con este sistema es que en pedidos grandes
está provocando muchos bloqueos que están afectando al resto de usuarios
de la aplicación.
¿ Es ésta la mejor forma de hacerlo o me aconsejan hacerlo de otra forma
?

Saludos.





email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida