Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Compact data file
|
Compact data file ( rutaEstructura ; rutaDatos {; carpetaArchivo {; opcion {; metodo}}} ) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
rutaEstructura | Texto |
![]() |
Ruta de acceso al archivo de estructura | |||||
rutaDatos | Texto |
![]() |
Ruta de acceso al archivo de datos | |||||
carpetaArchivo | Texto |
![]() |
Ruta de acceso a la carpeta donde se colocará el archivo de datos original | |||||
opcion | Entero largo |
![]() |
Opciones de compactación | |||||
metodo | Texto |
![]() |
Nombre del método 4D de retrollamada | |||||
Resultado | Texto |
![]() |
Ruta de acceso completa de la carpeta que contiene el archivo de datos original | |||||
El comando Compact data file compacta el archivo de datos designado por el parámetro rutaDatos asociado al archivo de estructura rutaEstructura. Para mayor información sobre la compactación, consulte el Manual de Diseño.
Para asegurar la continuidad del funcionamiento de la base, el nuevo archivo de datos compactado reemplaza automáticamente al archivo original. Por seguridad, el archivo original no se modifica y se mueve a una carpeta especial llamada “Replaced files (compacting) YYYYMM-DD HH-MM-SS” donde YYYY-MM-DD HH-MM-SS representa la fecha y hora del backup. Por ejemplo: “Replaced files (compacting) 2007-09-27 15-20-35”.
El comando devuelve la ruta de acceso completa de la carpeta efectivamente creada para almacenar el archivo de datos original. Este comando sólo puede ser ejecutado desde 4D (modo local) o 4D Server (procedimiento almacenado). El archivo de datos a compactar debe corresponder al archivo de estructura designado por rutaEstructura. Además, el archivo de datos no debe abrirse durante la ejecución del comando; de lo contrario se genera un error.
Si se produce un error durante el proceso de compactación, los archivos originales se conservan en su ubicación inicial. Si un archivo de índice (.4DIndx file) está asociado con el archivo de datos, también se compacta. Como para el archivo de datos, el archivo original se guarda y la nueva versión reemplaza la anterior.
Constante | Tipo | Valor | Comentario |
Compact address table | Entero largo | 131072 | Fuerza la reescritura de la tabla de direcciones de los registros (ralentiza la compactación). Note que en este caso, los números de registro se reescriben. Si sólo pasa esta opción, 4D activa automáticamente la opción "Actualizar registros". |
Create process | Entero largo | 32768 | Cuando se pasa esta opción, la compactación será asincrónica y deberá administrar los resultados utilizando el método de retrollamada (ver a continuación). 4D no mostrará la barra de progreso (es posible hacerlo vía el método de retrollamada). La variable sistema OK toma el valor 1 si el proceso se ha lanzado correctamente y 0 en todos los otros casos. Cuando no se pasa esta opción, la variable OK toma el valor 1 si la compactación se realiza correctamente, de lo contrario 0. |
Do not create log file | Entero largo | 16384 | Por lo general, este comando crea un archivo de historial en formato XML (consulte el final de la descripción del comando). Con esta opción, no se creará un archivo de historial. |
Timestamp log file name | Entero largo | 262144 | Cuando esta opción se pasa, el nombre del archivo de historial generado contendrá la fecha y hora de su creación; como resultado, no reemplazará cualquier archivo de historial generado anteriormente. Por defecto, si no se pasa esta opción, los nombres de archivos de historial no son marcados con la fecha y hora y cada nuevo archivo generado sustituye al anterior. |
Update records | Entero largo | 65536 | Fuerza la rescritura de todos los registros en función de la definición actual de los campos en la estructura |
Por defecto, el comando Compact data file crea un archivo de historial en formato XML (si no ha pasado la opción Do not create log file, ver el parámetro opciones). Su nombre está basado en el archivo de estructura de la base actual y está ubicado en la carpeta Logs de esta base. Por ejemplo, para un archivo de estructura llamado “myDB.4db,” el archivo de historial será llamado “myDB_Compact_Log.xml.”
Si ha pasado la opción Timestamp log file name, el nombre del archivo de historial incluye la fecha y la hora de su creación en la forma "AAAA-MM-DD HH-MM-SS", lo que nos da, por ejemplo:
“myDB_Compact_Log_2015-09-27 15-20-35.xml”. Este principio permite evitar que cada nuevo archivo de historial reemplace al anterior, pero podría requerir una acción manual posterior para eliminar archivos innecesarios. Independientemente de la opción seleccionada, tan pronto como se genera un archivo de historial, su trayectoria se devuelve en la variable sistema Document después de la ejecución del comando.
El siguiente ejemplo (Windows) efectúa la compactación de un archivo de datos:
$structFile:=Structure file
$dataFile:="C:\\Databases\\Invoices\\January\\Invoices.4dd"
$origFile:="C:\\Databases\\Invoices\\Archives\\January\\"
$archFolder:=Compact data file($structFile;$dataFile;$origFile)
Si la operación de compactación se lleva a cabo correctamente, la variable sistema OK toma el valor 1; de lo contrario, toma el valor 0. Sin un archivo de historial se ha generado, su ruta completa se devuelve en la variable sistema Document.
Producto: 4D
Tema: Entorno 4D
Número
937
Creado por: 4D v11 SQL
Modificado: 4D v13
Modificado: 4D v15 R3
Manual de lenguaje 4D ( 4D v20 R7)