4D v13.4

SET EXTERNAL DATA PATH

Inicio

 
4D v13.4
SET EXTERNAL DATA PATH

SET EXTERNAL DATA PATH 


 

SET EXTERNAL DATA PATH ( aCampo ; ruta ) 
Parámetro Tipo   Descripción
aCampo  Texto, BLOB, Imagen in Campo para el cual definir el lugar de almacenamiento
ruta  Texto, Entero largo in Ruta de acceso y nombre del archivo de almacenamiento externo o
0 = utilizar la definición en estructura
1 = utilizar la carpeta por defecto

El comando SET EXTERNAL DATA PATH define o modifica, para el registro actual, la ubicación de almacenamiento externo del campo aCampo pasado como parámetro.

Con 4D (a partir de la versión 13), es posible almacenar datos de campos de tipo texto, BLOB e Imagen fuera del archivo de datos. Para una descripción completa de esta funcionalidad, consulte el Manual de Diseño.

La configuración definida por este comando sólo se aplica cuando el registro actual se guarda en el disco. Los parámetros de almacenamiento definidos en la estructura de la aplicación no cambian. Si el registro actual se cancela, el comando no hace nada. Una vez que se ejecuta este comando, 4D mantiene automáticamente la relación entre el campo del registro y el archivo en el disco. No es necesario  ejecutar el comando otra vez (salvo que sea necesario cambiar la ruta).

En ruta, puede pasar una ruta de acceso personalizada o una constante designando un lugar automático:

  • ruta de acceso personalizada al archivo
    En este caso, utilice el almacenamiento externo en "modo personalizado". En este modo ciertas funciones de base de datos 4D no están disponibles automáticamente (ver el Manual de Diseño).
    Puede pasar una ruta relativa al archivo de datos o una ruta absoluta, incluyendo el nombre del archivo de almacenamiento y su extensión. Esta extensión debe corresponder al tipo real de los datos (no hay conversión cuando se guarda). Debe utilizar la sintaxis del sistema. Puede designar cualquier carpeta, incluyendo la carpeta por defecto de los archivos externos de la base (nomBase.ExternalData), en este caso, estos archivos se incluyen en el backup de la base. Si la carpeta no existe, 4D la crea automáticamente (se devuelve un error si la creación falla, por ejemplo si los derechos son insuficientes).
    Si guarda el archivo externo en la misma carpeta que el archivo de datos o una de sus subcarpetas, 4D considera que la ruta especificada es relativa al archivo de datos y mantiene la relación, incluso cuando se mueve o se cambia el nombre de la carpeta de archivos de datos.
    Tenga en cuenta que esto significa que es posible "compartir" el mismo archivo externo entre varios registros. Todo cambio realizado en este archivo externo está disponibles en todos los registros. En este caso, si varios procesos pueden escribir los mismos campos al mismo tiempo, hay que tener cuidado para evitar accesos concurrentes a través de semáforos, con el fin de no afectar los archivos externos.
  • ubicación automática
    Puede designar dos lugares automáticamente con las siguientes constantes, que se encuentra en el tema Mantenimiento archivo de datos:
    Constante Tipo Valor Comentario
    Use default folder Entero largo 1 Los datos pasado en parámetro se almacenarán en la carpeta por defecto, llamada nomBase.ExternalData y ubicada al lado del archivo de datos. En este modo, los datos externos son generados por 4D como si estuvieran al interior del archivo de datos.
    Use structure definition Entero largo 0 4D utilizará los parámetros definidos en la estructura para el almacenamiento del campo (ver manual Modo Diseño). Si pasa de un almacenamiento externo a un almacenamiento interno, el archivo externo no se elimina.

Nota: el comando SET EXTERNAL DATA PATH sólo se puede ejecutar en 4D local o 4D Server. No hace nada cuando se ejecuta en un 4D remoto.

Ejemplo  

Usted quiere guardar el contenido de un campo imagen al exterior de los datos cuando supera un cierto tamaño. En el botón de validación del formulario, puede escribir:

 If(Picture size([Photos]InputField)>1300000)
  // guardar los archivos grandes fuera de los datos
    SET EXTERNAL DATA PATH([Photos]InputField;
    "C:\\Storage\\LargePicts\\" + String(Record number)+ ".jpg")
 Else
  // guardar los archivos de menor tamaño como se definió en estructura
    SET EXTERNAL DATA PATH([Photos]InputField;Use structure definition)
 End if

 
PROPIEDADES 

Producto: 4D
Tema: Estructura
Número 1134

Comportamiento diferente en modo remoto

 
INDEX

Lista alfabética de los comandos

 
HISTORIA 

New
Creado por: 4D v13

 
VER TAMBIÉN 

Get external data path
RELOAD EXTERNAL DATA