Problemas al grabar

02/02/2007 - 19:04 por fac | Informe spam
Buenas foro, quisiera consultarles algo muy complejo de ver, tengo problemas
al grabar simultaneamente en distintos usuarios los datos, me explico en 5
pcs graban una amortizacion de credito, a 4 le sale bien y a uno le resulta
que pago la cuota 0 para el 01/01/1900, con monto 0, itf (impuesto)=0 y
vemos que no grabo el registro, reviso la traza generada pero no se genera
ningun error Sql, colocamos un seguimiento en los Sp para que inserten en
una tabla los valores que va registrando segun los insert y update y sale
que los valores existen pero luego vemos que ese registro nunca existio en
la tabla, pensamos que era un rollback, pero seria algo extraño que suceda
pues esta tabla de seguimiento tambien se encuentra en la transaccion y no
presenta problemas.

Alguien sabe algun desperfecto del Sql 2000 Sp4 Standard, con windows 2003
server con 2.5 G de memoria DDR y procesador de 3 G

Muchas gracias por los comentarios.

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera (MVP)
02/02/2007 - 19:50 | Informe spam
No es un problema del SQL Server sino de la aplicación. Puedes estar seguro
de ello.

Revisen atentamente la programación de los procedimientos y del programa
cliente que los utilice.

Gustavo Larriera, MVP
Solid Quality Mentors [www.solidq.com]
Este mensaje se proporciona tal como es, sin garantías de ninguna clase



"fac" wrote:

Buenas foro, quisiera consultarles algo muy complejo de ver, tengo problemas
al grabar simultaneamente en distintos usuarios los datos, me explico en 5
pcs graban una amortizacion de credito, a 4 le sale bien y a uno le resulta
que pago la cuota 0 para el 01/01/1900, con monto 0, itf (impuesto)=0 y
vemos que no grabo el registro, reviso la traza generada pero no se genera
ningun error Sql, colocamos un seguimiento en los Sp para que inserten en
una tabla los valores que va registrando segun los insert y update y sale
que los valores existen pero luego vemos que ese registro nunca existio en
la tabla, pensamos que era un rollback, pero seria algo extraño que suceda
pues esta tabla de seguimiento tambien se encuentra en la transaccion y no
presenta problemas.

Alguien sabe algun desperfecto del Sql 2000 Sp4 Standard, con windows 2003
server con 2.5 G de memoria DDR y procesador de 3 G

Muchas gracias por los comentarios.



Respuesta Responder a este mensaje
#2 fac
02/02/2007 - 23:01 | Informe spam
Ok, voy a revisar nuevamente los procesos aunque la verdad no hemos
encontrado problema alguno, si un usuario usa la opcion funciona
correctamente pero varios usuarios a la vez y se genera problemas, incluso
aplique lo que se dice un semaforo para bloquear un registro mientras el
resto continua en espera pero ni con esa tabla soluciono el problema.

Gracias

Felipe

"Gustavo Larriera (MVP)" escribió en el mensaje
news:
No es un problema del SQL Server sino de la aplicación. Puedes estar
seguro
de ello.

Revisen atentamente la programación de los procedimientos y del programa
cliente que los utilice.

Gustavo Larriera, MVP
Solid Quality Mentors [www.solidq.com]
Este mensaje se proporciona tal como es, sin garantías de ninguna clase



"fac" wrote:

Buenas foro, quisiera consultarles algo muy complejo de ver, tengo
problemas
al grabar simultaneamente en distintos usuarios los datos, me explico en
5
pcs graban una amortizacion de credito, a 4 le sale bien y a uno le
resulta
que pago la cuota 0 para el 01/01/1900, con monto 0, itf (impuesto)=0 y
vemos que no grabo el registro, reviso la traza generada pero no se
genera
ningun error Sql, colocamos un seguimiento en los Sp para que inserten en
una tabla los valores que va registrando segun los insert y update y sale
que los valores existen pero luego vemos que ese registro nunca existio
en
la tabla, pensamos que era un rollback, pero seria algo extraño que
suceda
pues esta tabla de seguimiento tambien se encuentra en la transaccion y
no
presenta problemas.

Alguien sabe algun desperfecto del Sql 2000 Sp4 Standard, con windows
2003
server con 2.5 G de memoria DDR y procesador de 3 G

Muchas gracias por los comentarios.



Respuesta Responder a este mensaje
#3 Gustavo Larriera (MVP)
03/02/2007 - 00:09 | Informe spam
Por lo que leo, confirmo que debes revisar tu aplicación. Eso de usar
semáforos y de que un usuario trabaja bien pero varios concurrentemente
no, me indican que está pobremente programada la lógica de concurrencia
en tu aplicación.


Gustavo Larriera, MVP
Solid Quality
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Blog: http://solidqualitylearning.com/blogs/glarriera/
Este mensaje se proporciona tal como es, sin garantías de ninguna clase
/ This message is provided "AS IS" with no warranties expressed or
implied, and confers no rights.

fac wrote:
Ok, voy a revisar nuevamente los procesos aunque la verdad no hemos
encontrado problema alguno, si un usuario usa la opcion funciona
correctamente pero varios usuarios a la vez y se genera problemas, incluso
aplique lo que se dice un semaforo para bloquear un registro mientras el
resto continua en espera pero ni con esa tabla soluciono el problema.

Gracias

Felipe

"Gustavo Larriera (MVP)" escribió en el mensaje
news:
No es un problema del SQL Server sino de la aplicación. Puedes estar
seguro
de ello.

Revisen atentamente la programación de los procedimientos y del programa
cliente que los utilice.

Gustavo Larriera, MVP
Solid Quality Mentors [www.solidq.com]
Este mensaje se proporciona tal como es, sin garantías de ninguna clase



"fac" wrote:

Buenas foro, quisiera consultarles algo muy complejo de ver, tengo
problemas
al grabar simultaneamente en distintos usuarios los datos, me explico en
5
pcs graban una amortizacion de credito, a 4 le sale bien y a uno le
resulta
que pago la cuota 0 para el 01/01/1900, con monto 0, itf (impuesto)=0 y
vemos que no grabo el registro, reviso la traza generada pero no se
genera
ningun error Sql, colocamos un seguimiento en los Sp para que inserten en
una tabla los valores que va registrando segun los insert y update y sale
que los valores existen pero luego vemos que ese registro nunca existio
en
la tabla, pensamos que era un rollback, pero seria algo extraño que
suceda
pues esta tabla de seguimiento tambien se encuentra en la transaccion y
no
presenta problemas.

Alguien sabe algun desperfecto del Sql 2000 Sp4 Standard, con windows
2003
server con 2.5 G de memoria DDR y procesador de 3 G

Muchas gracias por los comentarios.









Respuesta Responder a este mensaje
#4 fac
03/02/2007 - 00:49 | Informe spam
Hola Gustavo, mi interfase esta en vb6, que consideraciones debo tener para
el tema de concurrencia para programar la conexion?
Ciertamente el problema de concurrencia estaba hasta el tope, por lo que
consulte y me aconsejaron mejorar los indices que es lo que
realice luego aplique rowlock en las actualizaciones y nolock en algunas
tablas que son generales como valor igv que cambia por dias y
no tendria problema en usar el nolock porque se que esto puede generar
problemas de data no confirmada pero en este caso tuve mucho
cuidado con usarlo.

Como te digo, todos usan el sistema sobre la misma operacion y mismo
documento, es uno de amortizacion, el primero cancela la 1a cuota, el
segundo que le acepte cancela o amortiza parte de la segunda y asi para
todos, siempre se liquida el ultimo de acuerdo al monto que se abone, pero
en algun momento de los 5 a uno le devuelve como si todo se genero bien pero
al final nada.


"Gustavo Larriera (MVP)" escribió en el mensaje
news:%
Por lo que leo, confirmo que debes revisar tu aplicación. Eso de usar
semáforos y de que un usuario trabaja bien pero varios concurrentemente
no, me indican que está pobremente programada la lógica de concurrencia en
tu aplicación.


Gustavo Larriera, MVP
Solid Quality
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Blog: http://solidqualitylearning.com/blogs/glarriera/
Este mensaje se proporciona tal como es, sin garantías de ninguna clase /
This message is provided "AS IS" with no warranties expressed or implied,
and confers no rights.

fac wrote:
Ok, voy a revisar nuevamente los procesos aunque la verdad no hemos
encontrado problema alguno, si un usuario usa la opcion funciona
correctamente pero varios usuarios a la vez y se genera problemas,
incluso aplique lo que se dice un semaforo para bloquear un registro
mientras el resto continua en espera pero ni con esa tabla soluciono el
problema.

Gracias

Felipe

"Gustavo Larriera (MVP)" escribió en el
mensaje news:
No es un problema del SQL Server sino de la aplicación. Puedes estar
seguro
de ello.

Revisen atentamente la programación de los procedimientos y del programa
cliente que los utilice.

Gustavo Larriera, MVP
Solid Quality Mentors [www.solidq.com]
Este mensaje se proporciona tal como es, sin garantías de ninguna clase



"fac" wrote:

Buenas foro, quisiera consultarles algo muy complejo de ver, tengo
problemas
al grabar simultaneamente en distintos usuarios los datos, me explico
en 5
pcs graban una amortizacion de credito, a 4 le sale bien y a uno le
resulta
que pago la cuota 0 para el 01/01/1900, con monto 0, itf (impuesto)=0 y
vemos que no grabo el registro, reviso la traza generada pero no se
genera
ningun error Sql, colocamos un seguimiento en los Sp para que inserten
en
una tabla los valores que va registrando segun los insert y update y
sale
que los valores existen pero luego vemos que ese registro nunca existio
en
la tabla, pensamos que era un rollback, pero seria algo extraño que
suceda
pues esta tabla de seguimiento tambien se encuentra en la transaccion y
no
presenta problemas.

Alguien sabe algun desperfecto del Sql 2000 Sp4 Standard, con windows
2003
server con 2.5 G de memoria DDR y procesador de 3 G

Muchas gracias por los comentarios.








Respuesta Responder a este mensaje
#5 Maxi
03/02/2007 - 15:18 | Informe spam
Hola, con el permiso de mi amigo Gux :) , coincido con el, hay que analizar
la logica de tu aplicacion, es algo que desde aqui no podemos hacer nosotros
y mucho menos en una new, yo te aconsejo al igual que Gux a revisar todo
este tema de concurrencia, sql maneja muy bien los bloqueos por lo cual no
entiendo porque estas usando semaforos y esas cosas :(


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
http://maxiaccotto.blogspot.com/
"fac" wrote in message
news:O3%
Hola Gustavo, mi interfase esta en vb6, que consideraciones debo tener
para el tema de concurrencia para programar la conexion?
Ciertamente el problema de concurrencia estaba hasta el tope, por lo que
consulte y me aconsejaron mejorar los indices que es lo que
realice luego aplique rowlock en las actualizaciones y nolock en algunas
tablas que son generales como valor igv que cambia por dias y
no tendria problema en usar el nolock porque se que esto puede generar
problemas de data no confirmada pero en este caso tuve mucho
cuidado con usarlo.

Como te digo, todos usan el sistema sobre la misma operacion y mismo
documento, es uno de amortizacion, el primero cancela la 1a cuota, el
segundo que le acepte cancela o amortiza parte de la segunda y asi para
todos, siempre se liquida el ultimo de acuerdo al monto que se abone, pero
en algun momento de los 5 a uno le devuelve como si todo se genero bien
pero al final nada.


"Gustavo Larriera (MVP)" escribió en el mensaje
news:%
Por lo que leo, confirmo que debes revisar tu aplicación. Eso de usar
semáforos y de que un usuario trabaja bien pero varios concurrentemente
no, me indican que está pobremente programada la lógica de concurrencia
en tu aplicación.


Gustavo Larriera, MVP
Solid Quality
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Blog: http://solidqualitylearning.com/blogs/glarriera/
Este mensaje se proporciona tal como es, sin garantías de ninguna clase /
This message is provided "AS IS" with no warranties expressed or implied,
and confers no rights.

fac wrote:
Ok, voy a revisar nuevamente los procesos aunque la verdad no hemos
encontrado problema alguno, si un usuario usa la opcion funciona
correctamente pero varios usuarios a la vez y se genera problemas,
incluso aplique lo que se dice un semaforo para bloquear un registro
mientras el resto continua en espera pero ni con esa tabla soluciono el
problema.

Gracias

Felipe

"Gustavo Larriera (MVP)" escribió en el
mensaje news:
No es un problema del SQL Server sino de la aplicación. Puedes estar
seguro
de ello.

Revisen atentamente la programación de los procedimientos y del
programa
cliente que los utilice.

Gustavo Larriera, MVP
Solid Quality Mentors [www.solidq.com]
Este mensaje se proporciona tal como es, sin garantías de ninguna clase



"fac" wrote:

Buenas foro, quisiera consultarles algo muy complejo de ver, tengo
problemas
al grabar simultaneamente en distintos usuarios los datos, me explico
en 5
pcs graban una amortizacion de credito, a 4 le sale bien y a uno le
resulta
que pago la cuota 0 para el 01/01/1900, con monto 0, itf (impuesto)=0
y
vemos que no grabo el registro, reviso la traza generada pero no se
genera
ningun error Sql, colocamos un seguimiento en los Sp para que inserten
en
una tabla los valores que va registrando segun los insert y update y
sale
que los valores existen pero luego vemos que ese registro nunca
existio en
la tabla, pensamos que era un rollback, pero seria algo extraño que
suceda
pues esta tabla de seguimiento tambien se encuentra en la transaccion
y no
presenta problemas.

Alguien sabe algun desperfecto del Sql 2000 Sp4 Standard, con windows
2003
server con 2.5 G de memoria DDR y procesador de 3 G

Muchas gracias por los comentarios.













Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida