• Publicidad

Base de datos Perl

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Base de datos Perl

Notapor panterozo » 2010-06-04 11:07 @505

Hola nuevamente.

Tengo un programa que crea registros en una base de datos, en varias tablas, pero, ¿y si sucede algún error en la ejecución del programa?

Ahí está mi problema. Suele suceder (ya que estoy probando el programa) que ocurra algún error en la ejecución, y algunas tablas se llenen correctamente mientras otras no. Si estuviese en un ambiente real, esto sería catastrófico.

¿Hay alguna manera de hacer un seguimiento tipo recursivo de los datos que se van a ingresar?, es decir, que se evalúen todas las entradas a la base de datos, y una vez que están todas correctas, que no habrá problemas, que ingrese todos los datos.

O algún módulo en Perl que realice este trabajo.

O alguna forma de programar para evitar que esto suceda.

Además, la base de datos contiene Triggers. Entonces el problema se complica :s

Thanks
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400

Publicidad

Re: Base de datos Perl

Notapor explorer » 2010-06-04 19:59 @874

La gran mayoría de las veces, cuando ingresamos datos a una base de datos, confiamos en que su motor no fallará, o si pasa algo malo, la orden de ejecución nos devolverá un código de error, para que tomemos las medidas necesarias.

Mientras que no tenemos problemas a la hora de ir ingresando datos, no tenemos claro qué hacer en caso de que ocurra un problema en mitad de los ingresos de los datos. ¿Tenemos que reintentarlo? ¿cuántas veces? ¿hasta dónde llega el problema, en la inserción de un dato o el motor de búsqueda a caído completamente? ¿está tardando mucho en responder o el disco duro se ha llenado?

No es necesario hacer una recomprobación de los datos ya grabados en la base de datos, para ver si están todos. Nos vale con no recibir un mensaje de error en ninguna de las sentencias de inserción.

O de otra manera... se pueden agrupar todas las sentencias de ingreso de datos en una sola, separándolas con ';'. Y ejecutarlas con una sola llamada a la base de datos. Si no devuelve error, es que se grabaron todos los datos.

Si los datos que ingresamos, son muy importantes que estén grabados en conjunto, una solución es la de descartar los datos ya ingresados de ese conjunto hasta ahora, e informar al usuario de que ha ocurrido un fallo con el motor de la base de datos, y que el proceso se para en ese punto.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados

cron