pasando aplic monousuario a red
Publicado por rossana (19 intervenciones) el 07/11/2007 00:05:23
Hola la aplicacion en cuestión es realizada en FoxPro 2.5a para DOS. Para abrir las tablas tengo set exclusive off.
Como soy nueva tengo varias dudas.
En las consultas eliminé las tablas por cursores o tablas temporales.
1) Estuve viendo el Help, y dice que los cursores se comportan como tablas, pueden indexarse,
borrar registros, inserar, etc. Pero mi experiencia es que a un cursor producto de una query SQL,
me dijo al intentar indexar que era solo read-only. Lo sustitui por una tabla y listo, pero ¿qué hice mal?
Código:
Create Cursor cursorX
select a, b
form tablaX
into cursor cursorX
2) para las consultas en algunas temporales se las vaciaba mediante ZAP, el código era el siguiente:
Me valgo de 2 funciones auxiliares, que lo que hacen es hace un lock a un archivo señuelo y no a la tabla propiamente dicha. La tabla se llama "candado", cuando está lockeada no puede accederse al resto
PROCEDURE CANDADO_ON
UNLOCK ALL
IF !USED("CANDADO")
USE CANDADO IN 0
ENDIF
PRIVATE XSR
XSR=SET("REPROCESS")
SET REPROCESS TO 1
DO WHILE !FLOCK("CANDADO")
DO CINFORME WITH "Los archivos est n en uso...\n\n"+;
"Toque ENTER para reintentar ya, o espere a que esta "+;
"ventana se vaya y reintente sola.",2
ENDDO
SET REPROCESS TO (XSR)
PROCEDURE CANDADO_OFF
UNLOCK ALL
Luego el procedimiento es :
=CANDADO_ON()
SELECT _file
DO WHILE !FLOCK() && Asegura disponer de
ENDDO && los últimos datos
UNLOCK && en ambiente de red
APPEND/INSERT/ZAP && lo que corresponda
=CANDADO_OFF()
El zap me trajo problemas: "File access denied"...¿prevalece el zap sobre el lock?
Gracias, rossana
Como soy nueva tengo varias dudas.
En las consultas eliminé las tablas por cursores o tablas temporales.
1) Estuve viendo el Help, y dice que los cursores se comportan como tablas, pueden indexarse,
borrar registros, inserar, etc. Pero mi experiencia es que a un cursor producto de una query SQL,
me dijo al intentar indexar que era solo read-only. Lo sustitui por una tabla y listo, pero ¿qué hice mal?
Código:
Create Cursor cursorX
select a, b
form tablaX
into cursor cursorX
2) para las consultas en algunas temporales se las vaciaba mediante ZAP, el código era el siguiente:
Me valgo de 2 funciones auxiliares, que lo que hacen es hace un lock a un archivo señuelo y no a la tabla propiamente dicha. La tabla se llama "candado", cuando está lockeada no puede accederse al resto
PROCEDURE CANDADO_ON
UNLOCK ALL
IF !USED("CANDADO")
USE CANDADO IN 0
ENDIF
PRIVATE XSR
XSR=SET("REPROCESS")
SET REPROCESS TO 1
DO WHILE !FLOCK("CANDADO")
DO CINFORME WITH "Los archivos est n en uso...\n\n"+;
"Toque ENTER para reintentar ya, o espere a que esta "+;
"ventana se vaya y reintente sola.",2
ENDDO
SET REPROCESS TO (XSR)
PROCEDURE CANDADO_OFF
UNLOCK ALL
Luego el procedimiento es :
=CANDADO_ON()
SELECT _file
DO WHILE !FLOCK() && Asegura disponer de
ENDDO && los últimos datos
UNLOCK && en ambiente de red
APPEND/INSERT/ZAP && lo que corresponda
=CANDADO_OFF()
El zap me trajo problemas: "File access denied"...¿prevalece el zap sobre el lock?
Gracias, rossana
Valora esta pregunta


0