Clipper/FiveWin - ¿Como pasar una aplicacion a red?

 
Vista:

¿Como pasar una aplicacion a red?

Publicado por Victor Escario (2 intervenciones) el 27/02/2001 17:34:26
Tengo varias aplicaciones realizadas en clipper summer 87, todas ellas para monopuesto.
Ahora, que hemos conectado varios ordenadores en red, me gustaria poder compartir los datos, pero la aplicacion no funciona, claro dandome el error "Database required"
Si en los .prg pongo los set exclusive off, no sale ese error, pero tampoco puedo acceder a los datos en los demas puestos.
¿Que tengo que hacer?
Agradecere las respuestas ....
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:¿Como pasar una aplicacion a red?

Publicado por Jaime E (10 intervenciones) el 27/02/2001 20:25:15
Lo que necesitas es ocupar las funciones de red como FLOCK(), RLOCK() así como la Sentencia SHARED al momento de utilizar el archivo

// Estas utilizando un archivo y un indice de
// modo compartido
USE TABLA1 index DESDES SHARED

// Si el archivo no presenta estado de estar
// ocupado podras escribir en el

IF FLOCK()
APPEND BLANK
REPLACE CAMPO WITH Variable
COMMIT ALL
ENDIF
Es un ejemplo muy burdo y escueto pero creo que explica un poco la solución de tu problema
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:¿Como pasar una aplicacion a red?

Publicado por skaigualker (210 intervenciones) el 28/02/2001 08:44:37
Si pones la sentencia "set exclusive off" ya no necesitas utilizar el comando shared pues ya va a abrir las tablas compartidas.

La funcion flock() solo la necesitas para reindexar o ejecutar comandos que afectan a toda la tabla, para añadir registros o modificarlos utiliza la funcion rlock()

Ej.

Para añadir registros

dbselectarea(1)
dbappend()
if rLock()
replace ...
replace ...
replace ...
dbcommitall()
end

para modificar

dbselectarea(1)
dbsetorder("codigo")
dbseek("micodigo")
if found ()
if rlock()
replace ...
replace ...
end
end

Asi solo bloqueas a otros usuarios el registro que estas utilizando y no toda la tabla.

Para reindexar o modificar estructura debes bloquear toda la tabla
ej.

dbselectarea(1)
if flock()
dbreindex()
end

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