Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por falbano
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.
Responder Con Cita
  #2  
Antiguo 08-04-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.918
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
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)
__________________
El malabarista.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:04:06.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi