Muy Urgente, por favor!!

Muy Urgente, por favor!!

Postby Loren » Tue May 13, 2008 3:55 pm

Compañeros:

Tengo que encontrar una solución rápida al problema que tengo:
Tengo una aplicación corriendo en una RED Local (1 PC Servidor + 2 terminales conectados mediante un HUB), pero la aplicación se ralentiza hasta 9 segundos en refrescar un Dialog si hay más de 2 o más PC activos.
En mi aplicación no tengo SET FILTER ni LOCATES, todo está a base de seek y find. Uso DBF y NTX.
El S.O. es W.vista y tiene desactivado el Fireware, Antivirus y demás...

Si accede a las DBF 1 solo PC va como un tiro... el problema es cuando acceden varios.

Que solución tiene?
Mil gracias.
LORENZO.
Loren
 
Posts: 479
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Postby derpipu » Tue May 13, 2008 4:23 pm

Hola Loren, para empezar yo revisaria mis cables de red, y ademas cambiaria el HUB por un SWITCH..

Saludos

P.D. tambien les daria una revisada a mis funciones con las que abro las bases de datos y ver que todo estuviera correcto.
Luis Fernando Rubio Rubio
derpipu
 
Posts: 94
Joined: Tue Mar 28, 2006 4:09 pm
Location: Tequila, Jalisco Mexico

Re: Muy Urgente, por favor!!

Postby Armando Picon » Tue May 13, 2008 5:19 pm

Loren wrote:Compañeros:

Tengo que encontrar una solución rápida al problema que tengo:
Tengo una aplicación corriendo en una RED Local (1 PC Servidor + 2 terminales conectados mediante un HUB), pero la aplicación se ralentiza hasta 9 segundos en refrescar un Dialog si hay más de 2 o más PC activos.
En mi aplicación no tengo SET FILTER ni LOCATES, todo está a base de seek y find. Uso DBF y NTX.
El S.O. es W.vista y tiene desactivado el Fireware, Antivirus y demás...

Si accede a las DBF 1 solo PC va como un tiro... el problema es cuando acceden varios.

Que solución tiene?
Mil gracias.
LORENZO.


abres y cierras las tablas? con frecuencia esto enlentece las aplicaciones que trabajan en red (además de un posible problema con cables y el Hub)
FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicación via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com
User avatar
Armando Picon
 
Posts: 446
Joined: Mon Dec 26, 2005 9:11 pm
Location: Lima, Peru

Postby Loren » Tue May 13, 2008 8:48 pm

Efectivamente compañeros:

1.- Sustituire el HUB por un SHITCH
2.- Abro las DBF al principio de mi EXE y las cierro al SALIR, pero no obstante en determinados procesos cierro (calias->(dbclosearea()) y abro ( use cDbf index cIndex shared alias cAlias) porque es la única manera de refrescarlas en la RED.

Descubrí que si un terminal crea y guarda 1 registro en una DBF y otro terminal necesita mostrar todos los registros, nunca se muestra el último introducido. Cerrando y abriendo las DBF soluciono este problema.

La cosa es que si accedo con 1 solo terminal la cosa va como 1 tiro. Si acceden varios se ralentizan enormemente.

Un saludo.
LORENZO.
Loren
 
Posts: 479
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Postby karinha » Tue May 13, 2008 8:55 pm

muestra como haces los REPLACES...

Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7772
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Postby Armando Picon » Tue May 13, 2008 9:09 pm

Loren wrote:Efectivamente compañeros:

1.- Sustituire el HUB por un SHITCH
2.- Abro las DBF al principio de mi EXE y las cierro al SALIR, pero no obstante en determinados procesos cierro (calias->(dbclosearea()) y abro ( use cDbf index cIndex shared alias cAlias) porque es la única manera de refrescarlas en la RED.

Descubrí que si un terminal crea y guarda 1 registro en una DBF y otro terminal necesita mostrar todos los registros, nunca se muestra el último introducido. Cerrando y abriendo las DBF soluciono este problema.

La cosa es que si accedo con 1 solo terminal la cosa va como 1 tiro. Si acceden varios se ralentizan enormemente.

Un saludo.
LORENZO.


Necesitas con urgencia refrescar tu dialogo (o los objetos que tiene en él):

oDlg:refresh() o
oWnd:refresh()

en el peor de los casos requieres hacer un comando tal como:

refreshall()
FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicación via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com
User avatar
Armando Picon
 
Posts: 446
Joined: Mon Dec 26, 2005 9:11 pm
Location: Lima, Peru

Postby FiveWiDi » Tue May 13, 2008 9:50 pm

Loren wrote:Efectivamente compañeros:

1.- Sustituire el HUB por un SHITCH
2.- Abro las DBF al principio de mi EXE y las cierro al SALIR, pero no obstante en determinados procesos cierro (calias->(dbclosearea()) y abro ( use cDbf index cIndex shared alias cAlias) porque es la única manera de refrescarlas en la RED.

Descubrí que si un terminal crea y guarda 1 registro en una DBF y otro terminal necesita mostrar todos los registros, nunca se muestra el último introducido. Cerrando y abriendo las DBF soluciono este problema.

La cosa es que si accedo con 1 solo terminal la cosa va como 1 tiro. Si acceden varios se ralentizan enormemente.

Un saludo.
LORENZO.


No abras y cierres la DBF en el PC 'x', sino en el PC 'y' donde has realizado el append o el replace seguido realiza un Goto( Recno() ). Pruébalo y cuentas.

Saludos
Carlos G.
FiveWiDi
 
Posts: 1157
Joined: Mon Oct 10, 2005 2:38 pm

Postby Loren » Wed May 14, 2008 7:07 am

Haber compañeros:
Esta mi pantalla de ventas:

[/img]Image[img]

Cada boton representa "Localidades" (Libres, Ocupadas y Reservadas). Si desde un terminal yo vendo el asiento 35, en el otro terminal no cambia a color ROJO como ocupado.
Al modificar una Localidad yo hago:
unlock()
replace ....
dbcommit()
dbunlock()
....
Esto no me refresca en el resto de terminales. Tengo que hacer un TIMER que sí me refresca pero revisar todos los asientos cuando hay varios terminales operando en la RED puede suponer hasta 9 seg. de espera.

¿ Alguna solución ?
Mil gracias.
LORENZO
[/img]
Loren
 
Posts: 479
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Postby Carlos Mora » Wed May 14, 2008 9:57 am

Hola Lorenzo,

es muy probable que el problema sean los Oportunistic Locks. Hay que desactivarlos en el servidor y las estaciones. Ahora estoy en el trabajo y no tengo las claves de registro exactas, pero si las buscas en Microsoft seguro las vas a encontrar.

Si puedes, te recomiendo que uses un samba de servidor.

Un saludo,
Carls
Carlos Mora
 
Posts: 989
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 74 guests