versión 11
Compact data file (rutaEstructura{; rutaDatos{; carpetaArchivo{; opcion{; metodo}}}})
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 | Numérico | Opciones de compactación | |
metodo | Texto | Nombre del método 4D de retrollamada |
Descripción
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 abrise 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.
En el parámetro rutaEstructura, pase el nombre de la ruta completa del archivo de estructura asociado con el archivo de datos que quiere compactar. Esta información es necesaria para el proceso de compactación. La ruta de acceso debe expresarse en la sintaxis del sistema operativo. Igualmente puede pasar una cadena vacía; en este caso, aparece la caja de diálogo estándar de apertura de archivos de manera que pueda designar el archivo de estructura a utilizar.
En el parámetro rutaDatos, puede pasar una cadena vacía, un nombre de archivo o una ruta completa de acceso, expresada en la sintaxis del sistema operativo. Si pasa una cadena vacía, aparece la caja de diálogo de apertura de archivos estándar de manera que el usuario pueda designar el archivo de datos a compactar. Este archivo debe corresponder al archivo de estructura definido en el parámetro rutaEstructura. Si pasa únicamente un nombre de archivo de datos, 4D lo buscará al mismo nivel que el archivo de estructura.
El parámetro opcional carpetaArchivo puede ser utilizado para especificar la ubicación de la carpeta "Replaced files (compacting) DateTime" destinada a recibir las versiones originales de los archivos de datos así como los eventuales archivos del índice.
El comando devuelve la ruta de acceso completa de la carpeta creada efectivamente.
- Si omite este parámetro, los archivos originales son colocados automáticamente en una carpeta "Replaced files (compacting) DateTime" que se crea junto al archivo de datos.
- Si pasa una cadena vacía, aparece una caja de diálogo estándar de apertura de archivos permitiéndole al usuario designar la ubicación de la carpeta a crear.
- Si pasa una ruta de acceso (expresada en la sintaxis del sistema operativo), el comando creará la carpeta "Replaced files (compacting) DateTime" a esta ubicación.
El parámetro opcional opciones se utiliza para definir diferentes opciones de compactación. Para hacerlo, utilice las siguientes constantes, encontradas en el tema "Data file maintenance". Puede pasar varias opciones combinándolas:
- Do not create log file (16384): Este comando crea un archivo de historial en formato XML. Su nombre está basado en el archivo de datos y está ubicado junto a este archivo (ubicación original). Por ejemplo, para un archivo de datos llamado "data.4dd," el archivo de historial se llamará "data_compact_log.xml."
- Create process (32768): Cuando se pasa esta opción, la compactación será asincrónica y necesitará administrar los resultados con la ayuda del método de retrollamadas. (ver más adelante). 4D no mostrará la barra de progreso (es posible hacerlo utilizando el método de retrollamada). La variable sistema OK toma el valor 1 si el proceso se lanza correctamente y 0 en todos los demás casos. Cuando no se pasa esta opción, la variable OK toma el valor 1 si la compactación se llevo a cabo correctamente, de lo contrario tomará el valor 0.
El parámetro metodo se utiliza para designar un método de retrollamada que será llamado regularmente durante la compactación si se pasa la opción Create process. De lo contrario, el método de retrollamada nunca será llamado. Para mayor información sobre este método, por favor consulte la descripción del comando VERIFY DATA FILE.
Si el método de retrollamada no existe en la base, se genera un error y la variable sistema OK toma el valor 0.
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 datos y está ubicado junto a este archivo. Por ejemplo, para un archivo de datos llamado "data.4dd," el archivo de registro será llamado "data_compact_log.xml."
Ejemplo
El siguiente ejemplo (Windows) efectúa la compactación de un archivo de datos:
$archivoEstructura:=Structure file $archivoDatos:="C:\Bases\Facturas\Enero\Facturas.4dd" $archivoOrig:="C:\Bases\Facturas\Archivos\Enero\" $carpetaArch:=Compact data file($archivoEstructura;$archivoDatos;$archivoOrig)
Ver también
Variables y conjuntos sistema
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.