Problemas con DBF en red

CACO9000
05 de Noviembre del 2008
Tengo muchos Problemas con las tablas en red
cuando accidentalmente se apaga un equipo
primero se dañan los cdx pero se soluciona
pero ademas me borra aproximadamente 5 o 6
de los ultimos registros o bien me completa los
campos con basura, ya lo he probado con distintas
pcs y placas de red varias y no he podido llegar
a ninguna conclusion, alquien podria ayudarme

FERNANDO GUZMAN
05 de Noviembre del 2008
hola que tal,la verdad no tengo tu respuesta, pero quisiera saber si tu me puedes ayudar...tengo una aplicacion para el manejo de una base de datos en visual fox pro para una funeraria, por el momento la tengo trabajando para un solo usuario, pero quiero trabajar en modo multiusuario y ponerla a trabajar en red con otros computadores.
quisiera saber que tengo que hacer com mi aplicacion???
cualquier ayuda que me puedas prestar te la agradeceré inmensamente.
mi correo es [email protected]

dennys
05 de Noviembre del 2008
tengo problemas con una tabla q se abre de solo lectura le la direccion de ip+ruta para ubicar la tabla y la sgte programacion y no puedo agregar un registro en blanco el formulario esta en sesion privada uso el shared set exclusive off, set multilocks ya no se q hacer....

SET EXCLUSIVE OFF
SET MULTILOCKS ON
SET REPROCESS TO AUTOMATIC
modulo1=ALLTRIM(this.Caption)
A2="C:OBRAS"
CD (cRutas)
USE USUSIS.DBF AGAIN SHARED ALIAS sistema
APPEND BLANK
replace m_acceso WITH modulo1
CD (A2)
CLOSE TABLES ALL
do form usuario.scx
thisform.Release

Asstec
05 de Noviembre del 2008
Hola:

Para que trabajes una base de datos en red usa:
Set exclusive off
OPEN DATABASE Mybase SHARED &&Abre la base en modo multiusuario

O tambien para abrir una tabla en modo multiusuari:
Set exclusive off
use Mitabla

y eso es todo!!!

Si tienes alguna duda o comentario escribeme al email.


cristopher arias garay
15 de Junio del 2015
hola, yo uso tablas libres en red y las abro tal y como dices tu, pero mi problema es que en una parte de mi sistema, ocupo aplicar un zap a una tabla, y me marca error, me dice que debo abrirla en modo exclusivo , espero me puedas ayudar por favor.

TANIA
05 de Noviembre del 2008
Hola me podria ayudar por favor, tengo un sistema vfp en red pero al accesar dos usuarios en difernte maquina a un area de trabajo diferente se trabaj cuando quieren obtener datos. Que hago. Les agradezco su informacion.

margarita
05 de Noviembre del 2008
ojo! muchachos yo programo en vfoxpro3 y mi aplicacion no trabaja realmente en red; solo deja consultar por pantalla los registros, cuando van actualizar algun registro y hay varias personas en red manda el aviso que "registro esta siendo usado por otro usuario". En definitiva cuando se van actualizar registros no se pueden trabajar simultaneamente.
? voy a cambiar el aplicativo a vfoxpro 6 ? que me dicen si funciona realmente en red, si es asi que hicieron. por favor ayudenmen

Luisen98
05 de Noviembre del 2008
Consulta la ayuda para las siguientes funciones: RLOCK(),FLOCK(),LOCK()
UNLOCK (Este es impresindible despues de desocupar el registro o el archivo)
SET MULTILOCKS

Asstec
05 de Noviembre del 2008
Hola:

Para que trabajes una base de datos en red usa:
Set exclusive off
OPEN DATABASE Mybase SHARED &&Abre la base en modo multiusuario

O tambien para abrir una tabla en modo multiusuari:
Set exclusive off
use Mitabla

y eso es todo!!!

Si tienes alguna duda o comentario escribeme al email.


Richard
05 de Noviembre del 2008
Voy a entregar un sistema desarrollado en visual Fox es necesario que este sistema funcione en red como hago para poder instalar en el servidor la data y en los clientes solo la aplicación y todo esto debera estar incorporado en los instaladores. !Por favor salvenme!

Jesus
05 de Noviembre del 2008
Otra pregunta media vaga, pero en fin.

1.- Si con la aparición de VFP6 se pudo trabajar con base de datos y a la vez trabajar con relaciones de tablas, esto a veces no es tan recomendable, porque como tu mismo dices que cuando hay una baja de tension lo primero que tienen en caerse son los Indices, pero esto un poco se arreglo cuando VFP incorporo el modo de levantar tablas en "Buffers", por que las actualizaciones se hacen en la memoria y luego al actualizar "=TABLEUPDATE" esto recien baja al disco, osea lo unico que se perderia seria el indice, pero no malograria la tabla porque ahora esta protegida por la base de datos.

Recomendacion: lo mas recomendable es trabajar con vistas, ya sean locales o remotas, estos a su vez, si deseas, no podrias usar indices, y simular un relacion de uno a varios usando el comando "REQUERY", o sea, cuando pases de un registro a otro en la cabecera refrescaras el detalle usando el comando "REQUERY",,,,,, te puedo enviar un ejemplo, esto te valdra para abrir cualquier vista asociada a una tabla.

lcTabla05 = "SELECT * FROM " + PATH_LOGI + "fpmrequi WHERE f02_crp = ?pcCrp " + ;
"AND f02_suba = ?pcActividad " + ;
"AND f02_grua = ?pcSubActividad " + ;
"AND f02_parp = ?pcPartida " + ;
"AND !DELETED() ORDER BY f02_numd"

creaTABLA( "PRES", PATH_PRES, lcTabla05, "FPMREQUI", "vFPMEJECU", "", .F., 3/19*100 )






FUNCTION CreaTabla( oNombreSistema, oDireccion, oInstruccion, oNombreTabla, oNombreVista, oCampoClave, oSQL, oPorcentaje )
LOCAL lnPosicion, lcInstruccion

IF !EMPTY( oPorcentaje )
.Update( oPorcentaje, "Porcentaje: " + TRANSFORM( ROUND( oPorcentaje, 0 ) ) )
ENDIF
IF !oSQL
IF !EMPTY( pcRutaPrincipal )
SET DEFA TO &pcRutaPrincipal
ENDIF
lcInstruccion = oInstruccion
CREATE SQL VIEW &oNombreVista AS &lcInstruccion
ELSE
**--- CREATE CONNECTION MiCon DATASOURCE "SIGA" USERID "sa" PASSWORD "" DATABASE "SIGA"
lcInstruccion = oInstruccion
CREATE SQL VIEW &oNombreVista CONNECTION MiCon AS &lcInstruccion
ENDIF
DBSETPROP( oNombreVista, 'View', 'Tables', oNombreTabla )
IF !EMPTY( oCampoClave )
*-- LLamada a función para hacer actualizable los campos de la tabla
upDateCampo( oNombreSistema, oNombreTabla, oNombreVista, oCampoClave )
ENDIF
DBSETPROP( oNombreVista, 'View', 'SendUpDates', .T. )
SET MULTILOCKS ON && abrir las tablas en modo compartido
USE &oNombreVista IN 0 SHARED
=CURSORSETPROP( "Buffering", 5, oNombreVista )
ENDFUNC

FUNCTION upDateCampo( oNombreSistema, oNombreTabla, oNombreVista, oCampoClave )
LOCAL lcCampoVista, lcCampoTabla
SELECT vWordDATA &&Tabla creada en open tables del formulario que hace la llamada
GO TOP
LOCATE FOR ALLTRIM( Sys_Name ) = oNombreSistema AND ALLTRIM( Table_Name ) = oNombreTabla
IF FOUND( "vWordDATA" )
DO WHILE ALLTRIM( Sys_Name ) = oNombreSistema AND ALLTRIM( Table_Name ) = oNombreTabla !EOF( "vWordDATA" )
lcCampoVista = oNombreVista + "." + ALLTRIM( Field_Name )
lcCampoTabla = oNombreTabla + "." + ALLTRIM( Field_Name )
IF oCampoClave = ALLTRIM( Field_Name )
DBSETPROP( lcCampoVista, 'Field', 'KeyField', .T. )
ENDIF
DBSETPROP( lcCampoVista, 'Field', 'UpDateName', lcCampoTabla )
DBSETPROP( lcCampoVista, 'Field', 'UpDaTable', .T. )
SKIP IN vWordDATA
ENDDO
ENDIF
RETURN .T.