PDA

Ver la Versión Completa : ZipForge me esta volviendo loco!


Willo
12-12-2012, 20:00:49
Buen dia Foro;

Tengo un problema que no entiendo en una aplicacion de Delphi 7 que usa ZIPFORGE;


ese componente lo uso para crear un "respaldo" comprimido de las tablas de datos que usa el sistema. El programa funcionaba muy bien, pero.... recientemente cambie esa aplicacion de que usara DBFs a ADTs y por alguna razon que desconozco ha dejado de funcionar el respaldo.

al parecer el componente no puede crear el archivo comprimido o descomprimir las tablas ya comprimidas si estas estan abiertas en otra maquina, pero lo mas extraño es que ANTES del cambio funcionaba!!!

Alguien usa el componente ZIPFORGE, que me pueda ayudar a encontrar una solucion evitando que este "abra" los archivos de datos al comprimirlos?

o alguna otra opcion para hacer un respaldo como el que tenia??

Casimiro Notevi
12-12-2012, 20:13:14
Por favor, pon títulos descriptivos a tus preguntas, sirve para hacer búsquedas y para que el sistema te aconseje con otros hilos similares a lo que preguntas.
Gracias por tu colaboración.

Casimiro Notevi
12-12-2012, 20:15:10
Se supone que si no puede hacer el backup, por alguna razón, te devolverá un mensaje de error con el problema en cuestión, ¿lo has verificado?

Willo
12-12-2012, 21:52:15
Por favor, pon títulos descriptivos a tus preguntas, sirve para hacer búsquedas y para que el sistema te aconseje con otros hilos similares a lo que preguntas.
Gracias por tu colaboración.

Perdon Casimiro, pense que era totalmente descriptivo el titulo!, refleja la realidad de mi desesperacion.:o

Willo
12-12-2012, 21:57:42
Se supone que si no puede hacer el backup, por alguna razón, te devolverá un mensaje de error con el problema en cuestión, ¿lo has verificado?

Claro que me devuelve un mensaje, me dice que no puede hacer el backup por que los archivos estan en uso, lo cual es cierto!; pero como indico en el texto, esto no sucedia con los archivos DBF.

El procedimiento trata de comprimir los archivos aunque esten abiertos en otras maquinas pero no se que paso realmente que ya no funciona!, aunque en el sentido estricto, los ADT y los DBF funcionan de manera muy parecida.

Casimiro Notevi
12-12-2012, 22:27:18
Seguramente hay algún parámetro para copiarlos, pero si esos ADTs son bases de datos abiertas... me temo que si las copias, te van a servir de poco, ya que estarán estropeadas. Los dbf son tablas planas que no tendrán ese problema.

Willo
14-12-2012, 04:27:13
Seguramente hay algún parámetro para copiarlos, pero si esos ADTs son bases de datos abiertas... me temo que si las copias, te van a servir de poco, ya que estarán estropeadas. Los dbf son tablas planas que no tendrán ese problema.

Los ADTs son tablas planas al igual que los DBFs con mejores caracteristicas.

Casimiro Notevi
14-12-2012, 11:34:39
Pues no sabría decirte, pero si lo único que no copia son esos ADTs, es que el problema está en esos archivos.
Tendrás que investigar sobre ellos.

nlsgarcia
14-12-2012, 17:15:10
Willo,

Te sugiero verificar el nivel de compartición (Bloqueos) de los archivos ADT, quizás los archivos estén bloqueados y por ello el componente ZipForge falla.

Revisa estos links:

Advantage Compatibility Locking with Advantage ADT Files:
http://devzone.advantagedatabase.com/dz/webhelp/advantage9.1/advantage_compatibility_locking_with_advantage_adt_files.htm

Advantage Proprietary Locking:
http://devzone.advantagedatabase.com/dz/webhelp/advantage9.1/advantage_proprietary_locking.htm

Espero sea útil :)

Nelson.

Willo
20-12-2012, 03:43:02
Willo,

Te sugiero verificar el nivel de compartición (Bloqueos) de los archivos ADT, quizás los archivos estén bloqueados y por ello el componente ZipForge falla.

Revisa estos links:

Espero sea útil :)

Nelson.

Gracias Nelson, pero esos links se refieren al tipo de bloqueo que se hace a nivel tabla cuando se edita un registro por ejemplo.

Mi problema yace en los permisos de los archivos en windows, por alguna razon no puedo hacer nada con ellos desde mi programa.

Por ejemplo: usando la funcion COPYFILE de delphi, tengo un problema similar. No puedo "copiar" esos archivos a la carpeta que quiero, pero.... si lo hago por Windows señalndo los archivos copiandolos y pegandolos en la carpeta de destino si funciona.

Me di cuenta que los archivos en la carpeta que me interesa tienen un pequeño candado cada uno, como si los archivos estuvieran bloqueados por windows.

nlsgarcia
20-12-2012, 06:08:35
Willo,


Me di cuenta que los archivos en la carpeta que me interesa tienen un pequeño candado cada uno.



Advantage Proprietary Locking:

"When Advantage Proprietary Locking is used, files are opened in an exclusive mode. Since the files cannot be opened by non-Advantage users, the Advantage Database Server can assume the environment is Advantage-only and internally maintains specific locking information. Non-Advantage applications can not open the files. Likewise, the Advantage Database Server cannot open files that were opened by some other application."

Tomado del link: http://devzone.advantagedatabase.com/dz/webhelp/advantage9.1/advantage_proprietary_locking.htm


Advantage Compatibility Locking with Xbase Files:

"With Xbase files, the Advantage Compatibility Locking mode is provided to allow data to be shared by Advantage applications and non-Advantage applications simultaneously. When using Advantage Compatibility Locking, the Advantage Database Server cannot make full use of the internal queuing algorithm for lock management used with Advantage Proprietary Locking. Read-through index locking is not available. Additionally, locks must be made visible to non-Advantage applications by obtaining network operating system locks. When using Compatibility Locking, files are opened in the mode specified by the application. That is, if the file is specified to be opened in a shared mode, the file is opened by the Advantage Database Server in a "deny none" mode. This also allows non-Advantage applications to open the tables and index files in a read/write mode."

Tomado del link: http://devzone.advantagedatabase.com/dz/webhelp/advantage9.1/advantage_compatibility_locking_with_xbase_files.htm

Según entiendo de todo lo anterior, si defines el nivel de bloqueo en Advantage Compatibility Locking y tus aplicaciones abren los archivos en modo shared, Zipforge debería funcionar, te sugiero hacer las verificaciones y pruebas correspondientes en tu sistema.

Nota: El respaldo de los archivos debe ser en modo dedicado para garantizar la consistencia de la información.

Espero sea útil :)

Nelson.