FoxPro/Visual FoxPro - Aplicaciones en red???

 
Vista:

Aplicaciones en red???

Publicado por Tito (9 intervenciones) el 24/06/2001 15:46:35
Quiero saber como puedo poner una aplicacion en red que se actualice cuando se hagan cambios en la tabla, en cualquier ordenador. Pues yo utilice la instruccion shared para abrir las tablas y si se puede abrir en otro, pero al tratar de acturlizar algun registro o eliminar alguno y empaquetar la tabla muestra un mensaje que debe estar abierta en modo exclusivo, y al albrirlo en modo exclusivo no puedo abrirla en otra...Gracias, espero que me ayuden y que sigan adelante....Tito.
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

RE:Aplicaciones en red???

Publicado por JoseFco (31 intervenciones) el 24/06/2001 19:18:03
Que tal amigo.... Cuando trabajas en Red no se pueden empaquetar directamente las tablas... ]Puedes usar Set Deleted para ocultar /mostrar los registros marcados para borrar... y después mediante un procedimiento que se ejecute en un intervalo de tiempo , en el que tu sepas que no hasy nadie conectado... por ejemplo al iniciar el servidor... puedes abrir las tablas en modo exclusivo y darles un Pack... y después cerrarlas para que los clientes las puedan abrir en modo compartido....

Si agregas registros utilizando APPEND BLANK y después colocas la información, entonces es por eso que te envia el error pues APPEND BLAnK necesita acceso en modo exclusivo... para entornos multiusuarios te recomiendo que utilices la instrucción INSERT INTO... sI TIENES DUDAS sobre esta instrucción consulta la ayuda del lenguaje...
Saludos
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

RE:Aplicaciones en red???

Publicado por Raúl Godoy (110 intervenciones) el 25/06/2001 00:51:58
Hola! JoseFco te está dando un buen consejo aunque APPEND BLANK sí debería funcinar en ese caso, lo que este comando hace es bloquear momentáneamente el header de la tabla para insertar el registro en blanco, pero es mejor usar INSERT - SQL. Sobre lo de actualizar los datos en las otras PCs de la red vas a tener que leer más sobre la documentación de este gestor, yo te recomiendo que veas el uso de Buffering y las transacciones. Ahora, cual es la razón por la que necesitas usar el comando PACK?
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

RE:Aplicaciones en red???

Publicado por ElSuperRo (47 intervenciones) el 25/06/2001 03:46:09
Lo que debes hacer es:
USE dbsA in a
USE dbsA SHARE AGAIN
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

RE:Aplicaciones en red???

Publicado por wences (457 intervenciones) el 25/06/2001 08:56:52
Todos ellos tienen parte de razon ... pero , todos ellos estan equivocados en algo ...

De entrada debemos suponer que no estas trabajando con el buffer , a partir de ese punto ... El append blank funciona perfectamente en una red , no tienen ningun problema ..por lo que no tienen que dar ningun error ... lo mismo ocurre para borrar , no tienes ningun problema si realmente estas abriendo con el Shared ... me temo que el error esta en que no estas bloqueando y desbloqueando ( rlock() , flock() y unlock() ) ...

Lo unico que si necesita estar en Exclusivo es el pack , no se puede eliminar con pack si no se abrio en modo exclusivo ...

Y si realmente estas bloqueando y desbloqueando , comprueba los siguientes comandos , el set exclusive en Off , el se reprocess en automatic , el set deleted off (para que no tenga en cuenta los borrados), etc...

Otra cosa posiblemente estes cometiendo un error muy comun y es poner un set index to xxx tag yyy , es decir generando un indice cada vez ... no es la primera vez que lo veo ... si es eso usa set order to nombre_indice (si es un indice) o tag el_campo...

Espero te sirva...y no se mosquee nadie
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

RE:Aplicaciones en red???

Publicado por El Primer Mosqueao (2 intervenciones) el 25/06/2001 13:44:10

> set index to xxx tag yyy , es decir GENERANDO(?) un indice cada vez ... ???

Y luego quieres que nadie se mosquee??

Como vez, nadie es perfecto, ni siquiera tu que llevas tiempo VIENDO ERRORES
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

Nota

Publicado por wences (457 intervenciones) el 25/06/2001 18:42:41
Esta quizas mal expresado lo de generando un indice cada vez , pero , por si no lo sabes el set index sirva para referirse a indices ndx y cdx (incluso no de la propia tabla) ... no cdx estructurales , puesto que estos se abren automaticamente con la tabla ... por lo tanto pueden usarse para añadir un indice a una tabla que no lo tiene , un indice que ademas no se guarda , es decir una vez cerrada la tabla desaparece ...

Por ejemplo ... una tabla con campo codigo,nombre,apellido1,apellido2 , de nombre cliente y sin ningun indice ... no podremos hacer un set order , puesto que no tiene indice ... pero si tuviesemos otra tabla con un indice por ejemplo (cliente2.cdx) donde este tiene el dos indices uno por campo codigo y otro nombre , como existen en cliente podriamos ejecutar algo como set index to cliente2 tag codigo ... donde cliente2 es el indice de otra tabla , en ese momento nuestra tabla cliente1 tiene ya un indice que antes no tenia ... compruebalo si quieres ...

Por cierto la gente que se escuda o esconde en el anonimato , no es buena gente ...lo que tengas que decir dilo con al menos tu cuenta de correo para que si tengo algo que decir no tenga que decirlo a traves del foro , ya que es para temas tecnicos , no para peleas dialecticas...No tengo ningun interes en entrar en guerras con nadie ...

Equivocarse es Humano , rectificar de Sabios ...
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

Para el sabio de wences

Publicado por El segundo mosqueao (1 intervención) el 25/06/2001 21:28:40
Sin duda tus aportes al foro son muy importantes.
No generalices con respecto al anonimato, tu no me conoces. Yo solo critico tu forma de escribir. Ahora que si crees que hice una mala critica considero que te bajas a mi nivel (de malo) al escribir una respuesta.
Para que quieres mi email? Quieres mandarme una demo de tus maravillosas creaciones? Crees que voy a discutir dialéctica con un necio que al paracer no quiere aceptar que se equivocó?
Correctísima tu aclaración con respecto a los índices. Pero...hacía falta?
Dices:
> Esta quizas mal expresado ..
Porque no un:
> Disculpas al foro, ME EXPRESE MAL...

Querido Wences: HERRAR EZ UMANO, HAZUMIRLO EZ DE ZAVIOS.
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

RE:Aplicaciones en red???

Publicado por El Primer Mosqueao (2 intervenciones) el 25/06/2001 13:44:21

> set index to xxx tag yyy , es decir GENERANDO(?) un indice cada vez ... ???

Y luego quieres que nadie se mosquee??

Como ves, nadie es perfecto, ni siquiera tu que llevas tiempo VIENDO ERRORES
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

RE:Aplicaciones en red???

Publicado por a_ortiz (13 intervenciones) el 25/06/2001 15:38:27
yo creo que las explicaciones dadan estan bien pero creo que la actitud de El Primer Mosqueao es un tanto mala, es verdad yo he visto y es mas los he cometido a lo largo de mi carrera de programación, claro son solo 3 años en Fox pero son errores que le suceden a todo el mundo no te enojes, solo utiliza un set order to cuando selecciones tus tablas y los problem,as con los indices se acaban..

Saludo alexis
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