AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Administrar bases de datos / HFSQL
  • Presentación
  • Definición de un archivo de datos inalterable
  • Operaciones que pueden realizarse (o no) en un archivo de datos inalterable
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Archivos de datos inalterables
HFSQL ClassicHFSQL Client/ServerDisponible solo con estos tipos de conexión
Presentación
Esta característica se utiliza para señalar que un archivo de datos no puede ser modificado después de escribir. Una vez que se añade un Record, este Record no puede ser modificado o eliminado.
Este tipo de archivo de datos es útil en los campos de actividad que requieren una fuerte trazabilidad. HFSQL firma automáticamente cada registro, así como el archivo de datos en sí.
Hacer inalterables los archivos:
  • evita errores de programación impidiendo la modificación o supresión (mediante HModify/HDelete, o mediante una consulta).
  • añade un hash del contenido de Record a cada Record. Este hash es un hash HMAC-SHA256, cuya clave se deriva de la contraseña de encriptación del archivo.
Observación: Para reforzar la seguridad, le aconsejamos que implemente una contraseña en el archivo de datos inalterable. En este caso, el archivo no puede ser creado sin saber su contraseña. No será posible eliminar y volver a crear el archivo de datos sin conocer esta contraseña.
Definición de un archivo de datos inalterable
Tienes la capacidad de definir un archivo de datos HFSQL inalterable:
  • en el editor de análisis:
    1. Abra la ventana de descripción del archivo de datos (por ejemplo, opción "Descripción del archivo de datos" del menú contextual.
    2. En la pestaña "Opciones", seleccione "Archivo inalterable (activa automáticamente la seguridad reforzada)".
      Archivo inalterable
    3. Validar el archivo description de datos. En el editor de análisis, el archivo de datos inalterable se representa con un candado.
      Cierre
  • a través de la programación, definiendo un archivo de datos dinámicamente:
    1. Cree una variable de tipo Expediente description.
    2. Utilice la Inalterable Property para definir la inalterabilidad del archivo.
    3. Utilice HDescribeFile para crear el archivo description.
Observaciones:
  • Si el archivo de datos se define como inalterable con contraseña, la seguridad reforzada se implementa automáticamente.
    Recordatorio: la opción "Activar la seguridad reforzada" permite cifrar los datos sin almacenar la clave de cifrado en el archivo de datos. Con esta opción y sin la contraseña del archivo, no se puede recuperar el contenido del archivo.
  • Si la opción "Fichero inalterable" se aplica a un fichero de datos existente, se realizará una actualización de los ficheros de datos automatic. El archivo de datos existente se comprimirá (eliminación de registros cruzados y eliminados) durante esta actualización.
    Atención: En cuanto un archivo de datos se define como inalterable, no se puede realizar ninguna modificación automática de los datos en el archivo.
  • Esta opción está disponible a partir de la versión 23. Para los archivos de datos del HFSQL Client/Server, se debe usar un motor HFSQL C/S en la versión 23 (o posterior).
Operaciones que pueden realizarse (o no) en un archivo de datos inalterable
Las únicas operaciones que pueden realizarse en un archivo de datos inalterable son la creación y la adición de registros.
Las funciones y características autorizadas son las siguientes:
  • HCreation y HCreationIfNotFound.
  • HAdd (transacción externa).
  • HWrite con un número Record sólo si el número Record es el que sigue al último Record (en este caso, se realiza una adición).
  • HModify con un número Record sólo si el número Record es el que sigue al último Record (en este caso, se realiza una adición).
  • HSave precedida de HReset (en este caso, se realiza una adición).
  • INSERTAR consultas.
Las funciones y características prohibidas son las siguientes:
  • HModify, HCross, HWrite, HSave, HDelete, HDeleteAll.
    En efecto, estas funciones modifican el contenido de los archivos de datos.
  • ACTUALIZAR y ELIMINAR consultas.
    En efecto, estas consultas modifican el contenido de los archivos de datos.
  • Cualquier modificación realizada en el contenido del archivo (independientemente del método utilizado).
  • La operación de reindexación con compresión o eliminación de registros dañados.
    De hecho, este tipo de operación de reindexación borra todos los registros Inactive o dañados. Por lo tanto, el archivo de datos puede ser modificado.
  • La adición en una transacción.
    En efecto, la cancelación de una transacción provoca la modificación del archivo de datos.
  • La modificación automatic de archivos de datos.
    De hecho, modificar la estructura de un archivo de datos (adición o eliminación de elementos, por ejemplo) puede modificar los datos que se encuentran en el archivo de datos.
    Por ejemplo, añadir un elemento con un valor Default modificará todos los registros al añadirles este nuevo elemento. Del mismo modo, al eliminar un elemento existente se elimina la información de los datos guardados. La integridad de los datos ya está garantizada.
Se produce un error de ejecución si se utiliza una de estas funciones o características.
Observación: HCheckUnaltered sirve para comprobar si uno o todos los registros de un fichero de datos inalterable no han sido modificados (con un editor hexadecimal, por ejemplo). Atención: Se puede leer una Record alterada (si la cabecera no está alterada).
¿Cómo administrar una modificación de datos automatic?
No se permite la modificación del fichero de datos automatic. Cuando una nueva versión de la aplicación contenga una evolución de la estructura de los registros que se encuentran en un archivo de datos HFSQL inalterable, esta versión de la aplicación tendrá que:
  • gestionar el archivo de datos en su formato anterior,
  • crear un nuevo archivo de datos con la nueva estructura.
Recordatorio: Una aplicación puede ver los datos de un archivo de datos HFSQL en una estructura anterior usando HCheckStructure en modo hCompatible. Si el cambio de estructura hace que el archivo sea incompatible, podrá utilizar el archivo en su formato anterior con la nueva aplicación tras la llamada a HDeclareExternal.
Versión mínima requerida
  • Versión 23
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 14/06/2023

Señalar un error o enviar una sugerencia | Ayuda local