Ojo que el Flush no asegura que se graben los datos a disco, todavia pueden 
quedar en la cache de Windows. Se puede:

1. Desactivar la cache de escritura pero todo el rendimiento de Windows va a 
sufrir.
2. Usar Flush Force para forzar la escritura a disco, pero esta variante del 
Flush solo esta disponible en VFP 9.

Pablo Pioli

----- Original Message ----- 
From: Rafael Copquin 
To: GUFA List Member 
Sent: Tuesday, January 05, 2010 6:37 PM
Subject: [GUFA] [spam] problemas con VFP 6.0 con sp5


Puede ser que el cache de Windows esté metido en el asunto.

Después de grabar todo y del END TRANSACTION, mandale la sentencia FLUSH

A lo mejor con eso se te soluciona y se graban todas las tablas.

En cuanto a capturar el error cuando se produce, si los tableupdate te dan .T., 
no sé cómo se podría capturar el error, quizás mandando una serie de selects 
para ver si las cosas se grabaron realmente. 

Ojo, en este último caso, tenés que sacar las tablas del buffering y mandar el 
select sobre las tablas que están en disco. Yo no me acuerdo si hay una 
cláusula WITH (BUFFERING=.F.)  en VFP 6. En VFP 9 sí la hay, y te permite hacer 
los select sobre lo que realmente hay en el disco, sin riesgo de traer datos 
del buffer. Por eso, tratá de sacar el buffering después de grabar y mandar el 
END TRANSACTION, hacé el select y verificá que se grabó todo. Y volvé a poner 
las tablas en buffering antes de grabar. Es un engorro, te va a lentificar todo 
el proceso, pero al menos, vas a poder asegurarte de que se grabó todo. Pero 
creo que con la sentencia FLUSH el problema se reduce al mínimo.

Rafael Copquin


El 05/01/2010 12:59, arielonix escribió: 
  Rafael:
              Sí, uso transacciones. 
  Como arreglar el archivo roto lo hago sin problemas, normalmente haciendo 
append blank y pack.  El tema es como darme cuenta que está roto sin que el 
cliente siga generando operaciones sin darse cuenta que algo anda mal.

  Mirtha
    ----- Original Message ----- 
    From: Rafael Copquin 
    To: GUFA List Member 
    Sent: Monday, January 04, 2010 2:34 PM
    Subject: [GUFA] problemas con VFP 6.0 con sp5


    ¿Estás usando transacciones?
    Rafael Copquin


    El 04/01/2010 13:40, arielonix escribió: 
      Hola a todos, no consigo resolver una situación que sucede de vez en 
cuando, pero cuando sucede es un problemón. 
      Si algún archivo se corrompe por algún motivo (lo veo y parece perfecto) 
no se graban los registros sin dar ningún tipo de error. Lo sigo con el 
debbuger y hace el append blank, es mas si pongo un reccount() antes y despues 
del appe blank da incrementado en uno, como si realmente lo hubiera agregado, 
el tableupdate tampoco da ningún error pero en ese archivo dejan de grabarse 
los registros con lo cual si es por ej el de facturas aparece una incoherencia 
entre la cta cte de un cliente y el listado de facturas pendientes. El archivo 
en cuestión queda "freezado" pero en apariencia perfecto. Como capturar esto 
desde el sistema, que genere un error y yo pueda descorromper el archivo y no 
que me avise el cliente cuando ya muchos registros no fueron agregados? 
      Saludos a todos y, desde ya, muchas gracias y felicidades

      Mirtha




    __________ Información de ESET Smart Security, versión de la base de firmas 
de virus 4732 (20091231) __________

    ESET Smart Security ha comprobado este mensaje.

    http://www.eset.com

Responder a