- Presentación
- Principio de gestión asistida
- Principio
- Observaciones
- Funcionamiento estándar
- Error de duplicación
- Error de integridad
- Error de contraseña
- Error de conflicto de modificación y error de conflicto de estado de modificación
- Error de bloqueo
- Base de datos Input( requerida con acceso a OLE DB)
- Reindexación en curso
- La reconexión de automatic al servidor HFSQL
- Personalización
- Las diferentes soluciones
- Implementación
- Ejemplos de ventanas o páginas que se pueden incluir fácilmente en sus aplicaciones
- Constantes utilizadas para personalizar los errores
- Desactivación de la gestión asistida
- Presentación
- Implementación
Gestión asistida de errores HFSQL
No disponible con este tipo de conexión
WINDEV y WEBDEV incluyen un módulo para la gestión asistida de errores HFSQL. Una ventana o página específica se muestra automáticamente para los siguientes tipos de errores: Los diferentes casos de error que pueden ocurrir deben ser comprobados después de cada función HFSQL que maneje un archivo de datos. Si no se realiza esta comprobación, se genera un error WLanguage y la aplicación se detiene. HOnError se utiliza para personalizar la gestión asistida de errores o para desactivar esta gestión.. Para cada tipo de error, puede hacerlo: - Gestione este error a través de una ventana/página específica o a través de un Procedure (ver Gestionar un error HFSQL a través de un Procedure para más detalles).
- Desactivar la gestión asistida y gestionar el error mediante programación (como en WINDEV 5.5).
Principio de gestión asistida Principio Para simplificar la programación de la gestión de archivos de datos, los tipos de errores más comunes son gestionados automáticamente por el motor HFSQL. Este manejo de automatic ayuda al usuario Process el error. En la mayoría de los casos, el error se debe a un problema relacionado con los datos introducidos. Esta gestión de automatic es propuesta por Default y puede ser personalizada o desactivada. Observaciones La gestión asistida de errores está disponible para archivos de datos en formato Hyper File Classic y Hyper File 5.5, para archivos de datos utilizados a través de un Conector Nativo (también llamado Native Access) y para archivos de datos utilizados a través de un proveedor de OLE DB. If sus archivos de datos se manejan a través de un proveedor de OLE DB, sólo se gestionan los siguientes elementos: - The duplicate errors
Atención: Algunos errores duplicados pueden no ser reconocidos como tales por el acceso a la base de datos OLE DB.. Estos errores no serán manejados como errores duplicados sino que serán considerados como errores fatales.. Ejemplo: el análisis WINDEV y el description de la base de datos externa están fuera de sincronía y el description del archivo de datos del análisis no contiene todas las claves únicas definidas en la base de datos. - Errores de entrada necesarios
Atención: el mensaje de error de entrada requerida sólo aparece si el proveedor de OLE DB indica que el elemento está asociado a la Property"NULL forbidden".. De lo contrario, el error será procesado como un error fatal.
Si los archivos de datos se manipulan a través de un Conector Nativo, la gestión de las contraseñas obligatorias no está disponible. Error de duplicación - Causa de error
El usuario añade un Record para el que ya existe el valor de una clave única. Por ejemplo, el código postal y el nombre del estado se definen como claves únicas en el archivo Cedex. Se produce un error de duplicado al añadir un estado cuyo número ya se ha encontrado. - Gestión asistida disponible en WINDEV, WINDEV Mobile y WEBDEV por defecto
Si se detecta un error de duplicación, se muestra una ventana o una página en la que se pide al usuario que modifique el valor de la Record que ha provocado el error. - Gestión del error
Compruebe el resultado de HErrorDuplicates después de cada llamada a una función HFSQL que pueda desencadenar un duplicado Error(HAdd o HModify por ejemplo). Los detalles del error son devueltos por HErrorInfo.
Error de integridad - Causa de error
El usuario intenta añadir un Record sin respetar las restricciones de integridad definidas entre los archivos del análisis. Por ejemplo, los ficheros denominados CEDEX, STATE y REGION son relacionado entre sí. Estos enlaces cumplen con las restricciones de integridad relacional. Se produce un error de integridad al añadir un estado sin crear la región correspondiente. - Gestión asistida disponible en WINDEV, WINDEV Mobile y WEBDEV por defecto
Cuando se produce un error de integridad, se muestra una ventana o una página, pidiendo al usuario que Cancel la operación o que modifique los datos introducidos. - Gestión del error
Compruebe el resultado de HErrorIntegrity después de cada llamada a una función HFSQL que pueda desencadenar un duplicado Error(HAdd o HModify por ejemplo). Los detalles del error son devueltos por HErrorInfo.
Error de contraseña - Causa de error
El programa intenta a manipular un archivo protegido por contraseña (abrir, primera operación leída, ....). La contraseña no fue especificada a través de la programación: se produce un error de contraseña. - Gestión asistida disponible en WINDEV, WINDEV Mobile y WEBDEV por defecto
Cuando se produce un error de contraseña, se muestra una ventana o una página que permite al usuario escribir la contraseña del archivo. - Gestión del error
Compruebe el resultado de HErrorPassword después de cada llamada a una función HFSQL que pueda desencadenar una contraseña Error(HOpen por ejemplo o desde la primera función HFSQL que utilice el archivo). Los detalles del error son devueltos por HErrorInfo.
Error de conflicto de modificación y error de conflicto de estado de modificación - Causa de error
Cuando se utiliza una aplicación en red, pueden producirse conflictos debido a los datos contradictorios introducidos por los diferentes usuarios.. Por ejemplo:- El usuario X edita el formulario de "California".
- El usuario Y edita el formulario de "California".
- El usuario X renombra el estado a "California_01".
- El usuario Y modifica el nombre del estado ("California_02") y guarda. Se produce un conflicto de modificación durante esta copia de seguridad.
Se produce un conflicto de modificación. Se produce un conflicto de status de modificación cuando el usuario X borra el formulario, por ejemplo. Los diferentes casos se presentan a continuación en la tabla:
| | | | Record leer | Habilitado | Cruzado | Borrado | Record en disco | Habilitado | Conflicto de modificación | Conflicto de modificación | Conflicto de modificación | Cruzado | Conflicto de estatus de modificación | Conflicto de modificación | Conflicto de modificación | Borrado | Conflicto de estatus de modificación | Conflicto de estatus de modificación | XXXX |
- Gestión asistida disponible en WINDEV, WINDEV Mobile y WEBDEV por defecto
- Si se produce un conflicto cuando se modifica un Record, se muestra una ventana que propone los posibles valores del Record:
- el valor leído en el archivo (antes de la modificación).
- el valor modificado por otro usuario.
- el valor introducido por el usuario actual.
A continuación, el usuario puede elegir el valor del elemento que se guardará.
- Si se produce un conflicto al modificar un Record, se muestra una ventana que permite al usuario:
- volver a activar los datos borrados.
- mantener los datos en su estado actual.
A continuación, el usuario puede elegir el valor del elemento que se guardará.
- Gestión del error
- Para los errores de conflicto de modificación, compruebe el resultado de HErrorModification después de cada llamada a una función HFSQL que pueda desencadenar este Error(HModify por ejemplo). Los detalles del error son devueltos por HErrorInfo.
- Para los errores de conflicto de estado de modificación, compruebe el resultado de HErrorStatusModification después de cada llamada a una función HFSQL que pueda desencadenar este Error(HModify por ejemplo). Los detalles del error son devueltos por HErrorInfo.
Error de bloqueo - Causa de error
En una aplicación de red, tiene la posibilidad de bloquear un Record o un archivo para realizar operaciones específicas, por ejemplo. Se produce un error de bloqueo cuando un ordenador de la red intenta acceder a un Record bloqueado. - Gestión asistida disponible en WINDEV, WINDEV Mobile y WEBDEV por defecto
Cuando se produce un error de bloqueo, el motor HFSQL realiza automáticamente la gestión de los bloqueos (comprobar si el archivo está bloqueado, procesar el bloqueo).. Una ventana o una página se muestra, indicando que el Record o archivo está bloqueado y permitiendo al usuario reintentar o Cancel la operación. En caso de cancelación, la aplicación sigue funcionando como siempre.
- Gestión del error
Compruebe el resultado de HErrorLock después de cada llamada a una función HFSQL que pueda provocar un error de bloqueo.
Base de datos Input( requerida con acceso a OLE DB) - Causa de error
Algunas posiciones de fichero esperan necesariamente un valor. Si no se ha introducido ningún valor, aparece un mensaje de error de entrada obligatoria. - Gestión asistida disponible en WINDEV, WINDEV Mobile y WEBDEV por defecto
Si no se ha introducido ningún valor, el motor HFSQL abre automáticamente una ventana para introducir el valor requerido. Se muestra una ventana que indica que el elemento debe ser rellenado y permite al usuario escribir el valor del elemento. - Gestión del error
El número de error asociado a este problema es 70710: Valor de posición obligatorio. Estos números de error son devueltos por HError.
Reindexación en curso - Causa de error
El archivo utilizado está actualmente reindexado. El archivo no se puede utilizar (leer, escribir) durante esta operación de reindexación. - Gestión asistida disponible en WINDEV, WINDEV Mobile y WEBDEV por defecto
Aparece una ventana que indica que el archivo está siendo reindexado (también llamada reorganización).. Esta ventana se muestra durante toda la operación de reindexación y no se puede cerrar.. Una barra de progreso indica el estado de la operación de reindexación.
Observación: Para evitar los efectos del parpadeo, las ventanas de reindexación (ventana automatic o mantenimiento por otro ordenador) se muestran sólo si la operación de reindexación puede superar los 2 segundos. En este caso, las ventanas de reindexación se muestran después de 0,7 segundos.. Este mecanismo no se aplica a las ventanas utilizadas por HOnError. Para incluir este mecanismo en sus ventanas personalizadas, compruebe el código de la ventana "Reindex.wdw" suministrada en el directorio "\Programas\Datos\Ventanas predefinidas\HFSQL - Ventanas de ayuda de automatic". - Gestión del error
El número de error asociado a este problema es 70720: Actualmente se realiza una operación de reindexación en el archivo Estos números de error son devueltos por HError.
La reconexión de automatic al servidor HFSQL La función de reconexión de automatic es muy useful porque se ocupa de la desconexión de la conexión actual. Típicamente, este problema surge con dispositivos con conexiones inestables al servidor (dispositivos móviles en particular, Wi-Fi, 3G, etc.).. Con una conexión Wi-Fi, por ejemplo, la conexión entre el dispositivo remoto y el servidor puede interrumpirse durante un corto periodo de tiempo.. Este tipo de ruptura también puede ocurrir en las redes cableadas estándar. Una vez que la aplicación se "conecta" de nuevo, es useful para reanudar la aplicación donde la comunicación fue interrumpida. Los amortiguadores deben estar debidamente especificados. Con el automatic reanudando la conexión, todos los buffers son almacenados y reasignados. La aplicación puede reanudarse sin ningún error, como si la conexión nunca se hubiera interrumpido. - Causa de error
La aplicación ha perdido una o más conexiones con uno o más servidores HFSQL.. Las posibles razones pueden ser:- pérdida del enlace GPRS,
- intervención en la red,
- actualización del servidor,
- del servidor,
- en espera del ordenador cliente.
- Gestión asistida disponible en WINDEV, WINDEV Mobile y WEBDEV por defecto
Cuando la aplicación cliente ya no tiene acceso al servidor, se muestra automáticamente una ventana o una página, indicando que la conexión con el servidor ya no está disponible.. Esta ventana intenta volver a conectarse regularmente. Cuando el servidor vuelve a estar disponible, la reconexión se realiza automáticamente y la ventana desaparece.. El usuario puede seguir utilizando la aplicación. Para implementar la reconexión de automatic, debe:- recompilar la aplicación cliente (versión superior a 15).
- instalar el servidor HFSQL Client/Server (versión superior a 15).
- Gestión del error
Este error es un error fatal.
Atención: La reconexión de automatic no puede realizarse en los siguientes casos: - La aplicación incluye una transacción en curso.
- La aplicación ha bloqueado un fichero (en lectura/escritura).
- La aplicación ha bloqueado un archivo en modo de lectura/escritura y otra aplicación ha modificado una Record de este archivo cuando la aplicación no estaba conectada.
- El bloqueo se realizó mediante una de las siguientes funciones: HFirst, HNext, HPrevious o HLast.
Las diferentes soluciones WINDEV, WEBDEV y WINDEV Mobile le permiten personalizar la gestión de los errores de HFSQL. Es posible: - utilizar los procedimientos de custom.
Un Procedure específico de su aplicación se ejecuta automáticamente tan pronto como se produce un error en el HFSQL. Observación: Se puede definir una Procedure para cada archivo y para cada tipo de error. - usar ventanas o páginas personalizadas: las ventanas y páginas estándar del motor HFSQL se sustituyen por las ventanas o páginas de su aplicación.
Observación: Se puede definir una ventana o una página para cada archivo y para cada tipo de error.
| | | Type of error | Ventana WINDEV | Página WEBDEV | Duplicate error | Duplicar.wdwdw | Duplicar_WB.wwh | Error de integridad | Integridad.wdwdw | Integridad_WB.wwh | Error de contraseña de Password | Contraseña.wdwdw | Contraseña_WB.wwh | Error de conflicto de modificación y error de estado de modificación conflict | Modif.wdwdw ModifStatus.wdw | Modif_WD.wwh ModifStatus_WB.wwh | Error de bloqueo de Lock | Bloqueo WDW | Bloquear_WB.wwh | Entrada obligatoria | ObligatorioInput.WDW | | Reindexación en curso | Reindexación WDW | Reindexing_WB.wwh | Reconexión automática | Reconexión WDW | Reconexión_WB.wwh |
Estas ventanas o páginas se pueden incluir en sus proyectos, se pueden personalizar, traducir y pasar en parámetro a HOnError. Para incluir estas ventanas/páginas en sus proyectos: en el panel "Proyecto", en el grupo "Proyecto", amplíe "Importar" y seleccione "WINDEV/WEBDEV/WINDEV Elementos móviles y sus dependencias". Desactivación de la gestión asistida Presentación WINDEV, WEBDEV y WINDEV Mobile le permiten desactivar completamente el sistema para la gestión de errores de automatic. En este caso, se deben verificar en la aplicación los diferentes casos de error que pueden producirse.. Si no se realiza esta comprobación, se genera un error WLanguage y la aplicación se detiene. Implementación Para desactivar por completo la gestión de errores de automatic, basta con utilizar HOnError y especificar una cadena vacía para el nombre de la ventana, página o Procedure. En este caso, después de cada función HFSQL que pueda causar un error, es necesario comprobar el resultado de una o más de las siguientes funciones: Los detalles del error son devueltos por HErrorInfo. La gestión asistida puede volver a activarse mediante HOnErrorObservación: Para otros errores (modificación, entrada requerida, reindexación en curso), no es necesario realizar ninguna comprobación. Los números de error associated con estos problemas son: - 70700: Conflicto de modificación
- 70710: Valor de posición obligatorio
- 70720: Actualmente se realiza una operación de re-indexación en el archivo
Estos números de error son devueltos por HError.
Esta página también está disponible para…
|
|
|