Interbase Error

¿Hola Gaunmanuel, como estas? Tengo un problemita, me sucedió algo curioso, tengo un programa que esta funcionando desde hace como 3 meses en red con 15 usuarios, y de repente me di cuenta que a uno de los usuarios le salio un error, este error era al insertar un dato, el cual no salia cuando recién instale el programa, y ya cheque en la mayoría de los usuarios, y a todos le sale el error, este error dice..."class EIBInterBaseError violation of primary or unique key constraint integ_163", mi única llave en esa tabla donde saca el error, es un id, donde tengo un generator, para el cual hice mil pruebas antes de instalar el programa en la red, y ahora saca ese error, me podrías ayudar, gracias de antemano

1 Respuesta

Respuesta
1
Ok mira yo también tuve ese problema, y ahora considero que no es muy recomendable lo del generador, porque el dato que tienen el generador o que te genera nunca lo tienes en tiempo real esa es una, otra en cuanto a tu error checa que no se haya inicializado tu generador y te este repitiendo llaves.
Ahora tengo dos soluciones a ver cual te funciona mejor:
1.- Eliminar el Generador y hacerlo bajo código, es decir en el evento BeforePost hacer un query que te saque el máximo + 1 de tu tabla del campo ID y listo se lo pasas a tu ID recuerda que debes hacerlo solo cuando este en estado de Insert. Al hacer tienes que hacer el applyUpdate inmediatamente después de darle post para que se refleje en la base de datos y así cuando otro usuario inserte no le mande el error de llave violada, si me explico.
2.- Como segunda opción fíjate en que numero va tu generado, luego lo eliminas y lo vuelves a crear inicializando en el numero que te quedaste. Esto por si acaso por ahí algo fallo.
Pero yo te recomendaría que lo eliminaras y lo manejaras de la primer solución que te menciono..
Si tienes dudas sobre esto dímelas ok

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas