PDA

Ver la Versión Completa : Programador desesperado


falbano
07-04-2005, 23:30:32
:confused: Hola soy Falbano

tengo un programa que trabaja con varias tablas en paradox y en cualquier momento las tablas se corrompen haciendo un lio de esto y poniendo mi trabajo en juego; necesito hallar una forma de terminar con esta angustia; ya sea con algun programa para evitar esto, o migrando la base de datos, pero para esto necesito que me expliquen bien detalladamente porque soy un novato...


Ayudenme por favor.................

JulioGO
07-04-2005, 23:50:01
Hola Falbano:

Te recomiendo que traslades tu información de las tablas Paradox a una GDB, las cuales te permiten almacenar mas información. Es por eso que tienes el problema(y la angustia) pues las Paradox solo te permiten guardar un limitado numero de registros. Lo primero que debes hacer es conseguir el Firebird 1.5(www.firebird.com.mx/modules/mydownloads/viewcat.php?cid=1), el cual es el motor de BD, y luego conseguir el IB Expert(www.ibexpert.com) que es el gestor de las BD.

Espero te sirva.

Saludos.

roman
08-04-2005, 00:10:57
Algo que puedes hacer antes que nada es revisar que tengas bien configurado el bde. Si aún no lo has hecho te recomiendo que leas el artículo Paradox en Red publicado en la sección de Columnas del Club que explica todos los detalles a seguir.

// Saludos

Lepe
08-04-2005, 09:22:51
tambien tienes el programa CAERQUES en los ejemplos del club, busca por el foro, se ha hablado mucho sobre él.

Yosuun
08-04-2005, 11:09:28
Hola, mira lo de migrar hacia un metodo de almacenamiento que no sean bases de datos de escritorio me parece vital, por muchas razones, aparte de la estabilidad la calidad de la informacion y algunas cosillas mas. Yo por propia experiencia que realice ese cambio en su dia hace ya unos añitos te puedo decir que el resultado merece muy mucho la pena, cambie de paradox a interbase y la verdad que se te queda el cuerpo muy traquilo aunque , y todo tiene un pero a mi por lo menos me costo bastante trabajo y muchas horas hasta conseguirlo con esto no quiero desanimarte sino todo lo contrario. Lo que quiero que tengas claro que no es solamente cambiar de gestor por decirlo de alguna manera de base de datos el cambio tiene bastante mas calado y yo antes de realizarlo estudiaria como estructurar los datos en la migracion pues no lo es lo mismo bajo mi punto de vista, trabajar con bases de datos de escritorio con indices y accesos a la informacion de forma indexada que atraves de lenguaje SQL en el cual dependiendo de como tengas estructurada la informacion una tarea puede ser rapida como un tiro y mal estructurada te puede parecer una tortuga. Con esto te quiero decir que tendras que cambiar la forma de pensar a la hora de dar solucion a cada problema. No obstante y mientras realizas ese cambio estaria bien que le dieras estabilidad a paradox para realizar los cambios con la mayor tranquilidad posible. A parte de lo que te puedas informar como bien te han aconsejado otros contertulios en los articulos que hay alojads en la web. Te recomiendo que mires la siguiente direccion http://www.marteens.com/trick12.htm en la cual se aborda otro problema que te puede estar sucediendo y que en su dia me volvio loco y que una vez solucionado tuve en explotacion la aplicacion durante 3 años asta dar el salto definitivo y durante los tres años con una estabilidad practicamente total. Con esto no te animo a que no cambies que como te he dicho anteriormente creo que es vital no es lo mismo estabilidad de los datos que calidad y fiabilidad de la informacion.
En el articulo al que te remito de martes hace referencia al tema de la cache de escritura en segundo plano en el servidor, que fuen en su dia mi problema.
Un saludo y espero que te sea de ayuda.

Ryu
08-04-2005, 14:37:10
:) Creo que lo mejor es que migres a otro administrador de base de datos
pero si lo haces hay algo que debes tener en cuenta.

cúal es el administrador que vas a elegir?

Además si nunca has migrado datos ?
aprender
Que es migrar datos?
y como se hace ?
Este es el tipo de cosas que nos ayuda en
nuestra formacion academica.

falbano
08-04-2005, 15:09:38
:( Hola soy Falbano

Les agradesco a todos sus comentarios.

desde ya pienso migrar a IBEXPERT, pero tengo el inconveniente que no se trabajar con esto, y en lo que migro la base de datos y adapto el programa a esta, sigo teniendo el problema el cual requiere una solucion urgente, he tratado de trabajar con el programa caerques1-1; pero no me funciona o es que no lo se usar; de todos modos les agradeceria si pueden indicarme la forma de hallar una solucion lo mas pronto posible hasta que migre la base de datos.

roman
08-04-2005, 16:39:28
pero tengo el inconveniente que no se trabajar con esto, y en lo que migro la base de datos y adapto el programa a esta, sigo teniendo el problema el cual requiere una solucion urgente


Precisamente por esto, porque no es así de fácil pasar a otro motor es que te recomendé la lectura del artículo. Bien configurado, el bde realmente no da muchos problemas. En los años en que lo he utilizado los únicos problemas son las desincronizaciones de índices y sólo se me han presentado ante cortes del suministro eléctrico.

El programa CAERQUES, según entiendo, te servirá para corregir problemas pero no para impedir que éstos surjan. Para ello, es indispensable que todo esté bien configurado.

// Saludos

pd: no estoy en contra de que pases a otro motor y seguramente es lo recomendable. Pero mientras adquieres los conocimientos necesarios y dada la premura requerida, en mi opinión, es aconsejable que sigas con lo que ya conoces.

mamcx
08-04-2005, 17:25:55
Apoyo lo dicho por Roman.

Ahora, hay formas de mitigar los problemas. Aparte de leer sobre BDE y Paradox (sobre lo cual no tengo ni idea) lo que debes es IDENTIFICAR los puntos calientes que causan o donde viven los problemas.

Una vez lei, que mas o menos, el 80% de los errores esta en el 20% del codigo (ojo que no es una regla, es una idea!)...

Que puedes hacer? Y que no gaste DIAS en hacerse? Primero que todo, lo mas probable es que los problemas se den en las partes de movimientos de tu programa, como facturacion. Siguiendo con este caso hipotetico, la facturacion tipicamente requiere muchas tablas... pero la MAYORIA son tablas de "lookup" o sea del tipo: Voy a mirar alli si este dato esta tonces devuevo esto y voy para la otra tabla...

Las tablas "lookup" son de solo lectura, pero dejarlas abiertas en la red AUMENTA la probabilidad de corrupcion. Si son de pocos registros (como unos 100) considera descargarlas en un TClientDataSet y cierra la conexion. Las tablas/datos se deben tratar igual que los objetos: Crearlos tarde, destruirlos temprano. Con los datos, se descargan tarde, se cierran las conexiones temprano.

Luego con la parte que si se tiene que actualizar mira si puedes usar lo mismo... TClientDataSet junto a SQL filtrados a los datos ya listos... luego haces los UPDATES en batch (asi funcionan los TClientDataSet) y te deberia mitigar los problemas.

En resumen:

- Determina el 20% del codigo donde es mas problematico
- Descarga copias de solo lectura de datos "lookup". Cierra los dataset originales tan pronto puedas. Mejor aun, crealos por codigo como:

funtion ObtenerDatos(lcSql:String):TClientDataSet

- Mira si el estado actual de codigo permite una operacion en batch. Si es asi, mueve los dataset de estar directos a las tablas a ser TClientDataset...

Esta estrategia no debe demorar mas de un par de dias... Al menos los dos primeros puntos te deberian aliviar un poco la situacion y no requieren un cambio inmediato de base de datos...(y de hecho adelantas para cuando lo hagas)