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

#6 fac
03/02/2007 - 15:40 | Informe spam
Ok, muchas gracias por las apreciaciones, revisare el Sp nuevamente, porque
por el lado de aplicacion mando informacion fija como numero de credito,
monto, fecha y otros puntos, luego el Sp es el encargado de buscar la cuota
siguiente a cancelar y genera todo, al final retorna variables de montos
abonados, etc, por eso comento que mi problema estimo que esta en el lado
del Sql, de toda manera hare una revision exhaustiva de la logica empleada
en el Sp, muchas gracias a ambos por la informacion brindada.


Saludos


Felipe

"Maxi" escribió en el mensaje
news:O%
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
#7 Gustavo Larriera (MVP)
05/02/2007 - 00:37 | Informe spam
Hola fac,

fac wrote:
Ok, muchas gracias por las apreciaciones, revisare el Sp nuevamente, porque
por el lado de aplicacion mando informacion fija como numero de credito,
monto, fecha y otros puntos, luego el Sp es el encargado de buscar la cuota
siguiente a cancelar y genera todo, al final retorna variables de montos
abonados, etc, por eso comento que mi problema estimo que esta en el lado
del Sql, de toda manera hare una revision exhaustiva de la logica empleada
en el Sp, muchas gracias a ambos por la informacion brindada.



Mi última recomendación es que analices tu sproc. Pruébalo a fondo sin
usar la interfaz VB6, para ello haz otros sprocs que simulen la llamada
al que da problemas y trata de aplicarle stress al SQL Server.

Si te aseguras que el sproc concurrentemente está haciendo bien las
cosas, siguiente paso es analizar lo que tienes en VB6.

Como dijo el amigo Maxi, es muy dificil poder solucionar tu problema sin
acceso a tu sistema.

Mucha suerte, cualquier otra duda puntual, nos avisas.

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.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida