FoxPro/Visual FoxPro - Compartir tablas

 
Vista:
sin imagen de perfil
Val: 28
Ha disminuido su posición en 3 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Compartir tablas

Publicado por Ana (33 intervenciones) el 21/08/2019 22:01:14
Buenas tarde!
Tengo un sistema de facturación hecho en Visual FoxPro 6.0 que corre perfecto en una máquina. La empresa lo quiere poner en red.
Necesitaria que me recomienden que empezar a leer, que debo hacer o como empezar a encarar esta situacion.
Necesito bibliografia para leer en pricncipio, como encarar la situacion o algun ejemplo que haya dando vueltas por la red.
Desde ya muchas gracias!
Saludos

Ana
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Compartir tablas

Publicado por jose camilo (805 intervenciones) el 21/08/2019 22:07:21
BUENO ANA.

Lo primero es si estas trabajando en tablas dbf o no.
empieza por set exclusive off
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Compartir tablas

Publicado por Fidel José (657 intervenciones) el 21/08/2019 23:26:38
Básicamente tienes que tener en cuenta lo siguiente

1) Las tablas deben estar en una carpeta compartida. Un punto importante acá es saber cuál es el sistema operativo del equipo en el que residen las tablas. Si es Windows 7 en adelante, será necesario protegerse del bloqueo oportunista. Para ello se puede utilizar un programa llamado OpLockSet que lo bajas de la web. También es necesario que ningún equipo esté configurado para utilizar datos sin conexión.
La recomendación es que los equipos tengan buenas placas de red y se cuente con un buen switcher. En general, para sistemas operativos Windows, lo aconsejable es que tengan IP estática. Todos los equipos y el switcher tienen que tener UPS.

2) Debes decidir si tu programa correrá desde cada terminal (ejecutable distribuido) o correrá desde el equipo "servidor". Eso depende mucho de como trabajes (si recurres a tablas temporales, etc.)

3) Las tablas se deben abrir para acceso compartido:
USE (lcRuta_Tabla) IN 0 SHARED

4) Debes preocuparte por un sistema de bloqueo.
Esto viene de la mano de cómo programas las altas, bajas y modificaciones. Para VFP6 se me ocurre más sencillo utiizar el modo manual.
4.1) Bloqueo manual de registro: RLOCK()
4.2) Desbloqueo manual: UNLOCK (no recuerdo si en VFP6 se puede utilizar UNLOK IN talTabla )
4.3) Los comandos APPEND BLANK e INSERT INTO producen bloqueo del nuevo registro.
4.4) Se recomienda utilizar INSERT INTO en lugar de APPEND BLANK + REPLACE
4.5) Para el caso de REPLACE, la recomendación es utilizar un solo comando REPLACE por actualización de tabla;
Cada comando replace que se inserta necesita efectuar un control de bloqueo por lo que el uso de múltiples REPLACE termina resultando lento.
SELECT laTabla
IF RLOCK()
REPLACE FECHA WITH dFecha, IMPORTE WITH nImporte, FACTURA WITH nFactura
UNLOCK
FLUSH
ENDIF

INSERT INTO laTabla (FECHA,IMPORTE,FACTURA) VALUES (dFecha,nImporte,nFactura)
UNLOCK IN laTabla
FLUSH

SELECT laTabla
IF RLOCK()
DELETE()
UNLOCK
ENDIF


5) Después de las altas, bajas y modificaciones, utilizar el comando FLUSH que permite bajar el cache a disco. De otra forma nunca se sabe cuando Windows decidirá escribir en las tablas.

6) Tener en cuenta que el uso de SET FILTER sobre tablas compartidas se desaconseja totalmente. En lugar de SET FILTER se debe utilizar el comando SELECT-SQL para mostrar resultados filtrados en un cursor o tabla temporal. Para que el uso de SELECT-SQL sea eficiente, es imprescindible contar con buenos diseños de tablas, y con indices estructurales (cdx) construidos con la misma instrucción que se emplea en las consultas. En general, diría, evitar los índices sobre dos o mas campos. Por otra parte, los índices deben ser creado en función de la búsqueda de datos y no de la presentación (vicio en el que incurrimos los usuarios de tablas dbf).

Consultando cada una de las funciones y comandos aquí mencionados en la Ayuda de Visual FoxPro tiene que ser suficiente para empezar.
La otra recomendación sería tratar de pasar el sistema a VFP9, porque vas a tener menos problemas de corrupción de tablas y de índices (aunque para evitarlas totalmente deberías abandonar las dbf).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar