Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problemas paradox en red (https://www.clubdelphi.com/foros/showthread.php?t=67070)

arainfor 26-03-2010 16:25:08

Problemas paradox en red
 
Estimados compañeros.

Lo primero es felicitarles por el sitio y agradecer vuestro esfuerzo y vuestra confianza.

Aunque llevo tiempo siendo miembro, leo mucho y hablo poco, como consecuencia aprendo bastante y me equivoco menos...

El problema que posteo se refiere al rendimiento de bases de datos paradox en red.

Tengo un sistema desarrollado con D6+Paradox montado en una red con tres usuarios.

Cuando se dan las siguientes circunstancias:
1. Dos o mas usuarios corriendo la aplicación.
2. Uno de ellos añade un registro a una base de datos grande (>14000 registros)
3. Hace "post" a dicha base...
... el sistema se viene abajo de forma catastrofica, siendo imposible continuar usandolo en cualquiera de las estaciones de trabajo y teniendo que cerrar en todas.
Si cualquiera de ellos entra y hace el mismo procedimiento, pero estando el solo conectado, la base va como un tiro.
Parece alguna incompatibilidad del BDE con el uso simultaneo de bases grandes, pero no tengo más información.

He revisado la instalación segun vuestras instrucciones y las de otros sitios, y esta tal y como lo mostrais.

¿Alguna idea de por donde atacar el problema, que no sea cambiar de base de datos?

El sistema está terminado y funcionando, y a raiz de haber crecido la base a ese tamaño, se ha presentado dicho problema.

Muchas gracias,

afunez2007 26-03-2010 17:17:36

Creo que deberias ir pensando en migrar a algo mas moderno, como firebird

Que tambien trabaja navivamente con el BDE

Lo unico es quendrias que reprogramar tu aplicacion para que trabaje con este motor, aunque soporten la mayoria de instrucciones hay algunas cosas q pueden no funcionar.

Saludos

andres1569 26-03-2010 22:29:33

Por desgracia Paradox no está diseñado para funcionar en red de forma eficiente, ya que no es una base de datos Cliente/Servidor. Cuando vas a editar esa tabla de 14.000 registros, el BDE se baja a través de la red la tabla enterita, para luego aplicarle de forma local los filtros, consultas o actualizaciones que le hayas lanzado.

De todas formas, para que te funcione de forma concurrente tienes que seguir algunas pautas, como fijar en cada máquina, desde el BDE Administrator, el mismo parámetro NETDIR para todos los puestos, aunque me supongo que esto ya lo has hecho ...

Saludos

arainfor 26-03-2010 23:18:57

Andres,

Ya tengo hecho lo que me comentas y todo lo que recomiendan por aqui.

Es más complicado de lo que parece, pues si saco la tabla y la pongo en un pequeño programa que solo usa esa tabla y permite añadir, borrar y modificar, no se queda pillado. Parece que hay alguna configuración que afecta a la red.

Gracias de todas formas.

Cita:

Empezado por andres1569 (Mensaje 358541)
Por desgracia Paradox no está diseñado para funcionar en red de forma eficiente, ya que no es una base de datos Cliente/Servidor. Cuando vas a editar esa tabla de 14.000 registros, el BDE se baja a través de la red la tabla enterita, para luego aplicarle de forma local los filtros, consultas o actualizaciones que le hayas lanzado.

De todas formas, para que te funcione de forma concurrente tienes que seguir algunas pautas, como fijar en cada máquina, desde el BDE Administrator, el mismo parámetro NETDIR para todos los puestos, aunque me supongo que esto ya lo has hecho ...

Saludos


andres1569 26-03-2010 23:28:23

Supongo que también lo habrás mirado, tengo entendido que hay que poner el parámero "LOCAL SHARE" del BDE a False en todos los equipos clientes.

Te dejo un enlace que acabo de encontrar, habla del tema, a ver si te sirve:

http://www.ajpdsoft.com/modules.php?...rticle&sid=391

Saludos

juanelo 26-03-2010 23:30:30

Que tal arainfor,
Sería de gran ayuda el que nos indiques si salta algun error o exception al momento de la caída, porque la palabra "catastrofica" es demasiado general.
Por otro lado, y en verdad es un consejo que te doy por experiencia, piensa seriamente en migrar tu aplicacion a una base de datos mas robusta, como Firebird, al final vas a invertir menos tiempo migrando que corrigiendo errores y todo debido a Paradox y bde que dicho sea de paso es una tecnología ya bastante obsoleta.
PD: 14,000 registros creeme que es una pluma de pollo para una base de datos medianamente grande.

arainfor 26-03-2010 23:42:35

Si señor, todo mirado.

Ese es uno de los post que he seguido a rajatabla.

Un saludo,

Cita:

Empezado por andres1569 (Mensaje 358553)
Supongo que también lo habrás mirado, tengo entendido que hay que poner el parámero "LOCAL SHARE" del BDE a False en todos los equipos clientes.

Te dejo un enlace que acabo de encontrar, habla del tema, a ver si te sirve:

http://www.ajpdsoft.com/modules.php?...rticle&sid=391

Saludos


arainfor 26-03-2010 23:45:05

Juanelo,

Tienes razón, no es descriptiva la palabra "catastrofica". Cuando digo eso, me refiero a que se queda totalmente paralizado el programa y va respondiendo muy poco a poco, a tal punto, que tienes que cerrar para que funcione otra vez medianamente razonable.

El problema es que pienso como tu, en ambos casos, migrar a otra base de datos (el problema es que esta recien acabado y es una put... tener que recodificar todo lo que implica un cambio de motor de datos) y por otro lado, tengo bases mucho mayores que ni tosen...

Tiene que haber algún colateral, pero me estoy volviendo loco intentando dar con él...

Un saludo y gracias,

Cita:

Empezado por juanelo (Mensaje 358554)
Que tal arainfor,
Sería de gran ayuda el que nos indiques si salta algun error o exception al momento de la caída, porque la palabra "catastrofica" es demasiado general.
Por otro lado, y en verdad es un consejo que te doy por experiencia, piensa seriamente en migrar tu aplicacion a una base de datos mas robusta, como Firebird, al final vas a invertir menos tiempo migrando que corrigiendo errores y todo debido a Paradox y bde que dicho sea de paso es una tecnología ya bastante obsoleta.
PD: 14,000 registros creeme que es una pluma de pollo para una base de datos medianamente grande.


juanelo 26-03-2010 23:52:48

Cita:

Empezado por arainfor (Mensaje 358558)
que se queda totalmente paralizado el programa y va respondiendo muy poco a poco, a tal punto, que tienes que cerrar para que funcione otra vez medianamente razonable.
Un saludo y gracias,

Ok, eso ya esta mejor, has inspeccionado el rendimiento del procesador donde corre tu aplicacion cuando se da este problema?, es decir, no se va al 100% de uso o algo parecido?.
Por otro lado, recuerda que BDE usa tablas temporales en su funcionamiento, y estas se crean en el directorio indicado por el Private Dir, asegurate que ese se encuentre en tu disco duro, y sobra decir que haya suficiente espacio en el para que puedan crear con holgura.
Saludos.

Softweb 27-03-2010 00:43:14

Hola a todos

E visto estos mensajes después de contestar hace unos minutos a otro usuario de lo mismo.
http://www.clubdelphi.com/foros/showthread.php?t=66984

El ejemplo que indicais en el enlace
http://www.ajpdsoft.com/modules.php?...rticle&sid=391

no es muy útil pues significa que todas las aplicaciones que funcionen con paradox usarían el mismo bloqueo, con lo cual reventaría en cuanto dos aplicaciones distintas funcionaran al mismo tiempo.

Tengo desde hace bastante tiempo aplicaciones con paradox con muchos registros funcionando en multiusuario sin problemas, pero para eso tengo echo un control de instalación que modifica unos cuantos registros del systema del ordenados en que se instala como por ejemplo el cache de escritura del disco duro, el problema es que no encuentro la documentación en esto momento, pero la voy a buscar.

La configuración es distinta para el servidor y los clientes asín como si es windows normal o NT o server.

Saludos.


La franja horaria es GMT +2. Ahora son las 18:39:47.

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