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 / Gestión de HFSQL Client/Server
  • Presentación
  • Tareas programadas en el Centro de Control HFSQL
  • Crear una tarea programada
  • Eliminar una tarea programada
  • Modificar una tarea programada
  • Programación de tareas
  • Crear una tarea programada
  • Historial de ejecución de tareas programadas
  • Manipulación de tareas programadas en WLanguage
  • Ejemplo de uso de HDeclareExternal en un procedimiento almacenado
  • Ejemplo de ejecución de la prueba de un procedimiento almacenado
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
HFSQL Cliente/Servidor: Tareas programadas
HFSQL Client/ServerDisponible solo con este tipo de conexión
Presentación
Las tareas programadas se utilizan para programar procesos automatizados. Tiene la posibilidad de definir tareas programadas en el servidor HFSQL. Estas tareas programadas llaman a un procedimiento almacenado.
Al llamar a un procedimiento almacenado, puede ejecutar el código que desee, por ejemplo, mantenimiento personalizado, edición de estadísticas, etc.
Se pueden gestionar las tareas programadas:
Ejecución sucesiva de múltiples tareas programadas: Si la tarea programada anterior no se completa, la nueva tarea programada no se ejecuta, y el servidor envía una notificación.
Tareas programadas en el Centro de Control HFSQL

Crear una tarea programada

En el Centro de Control HFSQL, las tareas programadas pueden definirse a nivel de servidor o de base de datos.
Para crear una tarea programada:
  1. Si es necesario, conéctese a un servidor HFSQL y abra la descripción del servidor o de una de sus bases de datos (haga doble clic en el nombre del servidor o de la base de datos en la estructura jerárquica).
  2. Haga clic en la pestaña "Elementos programados.
  3. En la cinta de opciones, en el grupo "Elementos programados", expanda "Nueva programación" y seleccione "Programar una tarea". Se inicia el asistente para crear una tarea programada.
  4. Seleccione el modo de ejecución de la tarea. La tarea puede ejecutarse:
    • Periódicamente. A continuación, el asistente le permite definir la frecuencia de ejecución de la tarea.
    • y/o al iniciar el servidor HFSQL. Si se selecciona esta opción, debe especificar si:
      • la tarea bloquea otras tareas. En este caso, el servidor HFSQL será inaccesible mientras se ejecuta la tarea.
      • la tarea debe ejecutarse en segundo plano. En este caso, el servidor HFSQL se puede utilizar tan pronto como se inicia.
  5. Seleccione:
    • la base de datos que contiene el procedimiento almacenado que se va a ejecutar.
    • el conjunto que contiene el procedimiento almacenado a ejecutar.
    • el procedimiento almacenado a ejecutar.
      Nota: Para conceder acceso a los datos a un procedimiento almacenado lanzado desde una tarea programada, debe utilizar la función HDeclareExternal. Esta función se utiliza para declarar las fuentes de datos que se utilizarán en los procesos del procedimiento almacenado. Cuando se lanza un procedimiento almacenado desde el Centro de Control HFSQL, no hay análisis actual y no se puede acceder a los datos HFSQL Cliente/Servidor.
      Si no se utiliza HDeclareExternal en el código del procedimiento almacenado, el procedimiento desencadenará un error fatal, notificado en el registro de eventos del sistema.
      Nota: Cuando un procedimiento almacenado se inicia con HExecuteProcedure desde una aplicación WINDEV, WEBDEV o WINDEV Mobile, utiliza el análisis de la aplicación y puede utilizar directamente los datos HFSQL Cliente/Servidor.
  6. Defina la frecuencia de la tarea: mes, día, hora.
  7. Dale una descripción a tu tarea programada y confírmala.
  8. La tarea programada aparece en la pestaña "Elementos programados" del Centro de Control HFSQL.

Eliminar una tarea programada

Para eliminar una tarea programada:
  1. Si es necesario, conéctese a un servidor HFSQL y abra la pestaña del servidor o de la base de datos correspondiente.
  2. Haga clic en la pestaña "Elementos programados.
  3. Seleccione la tarea programada que desea eliminar.
  4. En la cinta de opciones, en el grupo "Elementos programados", haga clic en "Eliminar".
    También tiene la posibilidad de utilizar el menú contextual del elemento programado (opción "Suprimir").

Modificar una tarea programada

Para modificar una tarea programada:
  1. Si es necesario, conéctese a un servidor HFSQL y abra la pestaña del servidor o de la base de datos correspondiente.
  2. Haga clic en la pestaña "Elementos programados.
  3. Seleccione la tarea programada que desea modificar.
  4. En la cinta de opciones, en el grupo "Elementos programados", haga clic en "Editar".
    También puede utilizar el menú contextual del elemento programado (opción "Editar").
  5. Aparece una ventana de descripción del elemento programado. Todas las características introducidas en el asistente se agrupan en varias pestañas:
    • Pestaña "General": Define el tipo de tarea (copia de seguridad o procedimiento almacenado) y su estado (activo o inactivo).
    • Pestaña "Programar": Establece las opciones de ejecución de la tarea programada (mes, día, hora, número de ejecuciones, ejecución al inicio).
    • Novedad versión 2025
      Pestaña "Historial de ejecución": Esta pestaña aparece una vez que la tarea programada se ha ejecutado automáticamente. Esta pestaña enumera las diferentes ejecuciones de la tarea programada, indicando:
      • fecha de inicio de la tarea,
      • estado de la tarea: completada, en curso, fallida,
      • duración,
      • usuario que lanzó la tarea,
      • si se lanzó manualmente (con HExecuteScheduling).
  6. Valide.
Programación de tareas

Crear una tarea programada

Las tareas programadas se gestionan mediante programación utilizando variables de tipo hScheduledTask y varias funciones de WLanguage.
Para crear mediante programación una tarea programada:
  1. Cree una variable de tipo hScheduledTask y defina las distintas características de la tarea programada.
  2. Añadir la tarea programada HAddScheduling (o HAddTask).
Observaciones:
  • Para añadir una tarea programada, debe tener:
    • los permisos para administrar las tareas (constante hRightsManageTask).
    • los derechos para ejecutar el comando vinculado a la tarea programada.
  • La tarea se ejecutará con las credenciales de usuario definidas por la conexión.
  • Por razones de compatibilidad, también es posible crear una tarea programada para realizar copias de seguridad de la base de datos. Sin embargo, se recomienda crear una copia de seguridad programada. Para obtener más información, consulte ¿Cómo hacer copias de seguridad de bases de datos HFSQL Cliente/Servidor?.
Novedad versión 2025

Historial de ejecución de tareas programadas

Se crea un historial cuando la tarea programada se ejecuta automáticamente (o con HExecuteScheduling). Este historial puede manipularse mediante programación, utilizando una variable de tipo hSchedulingHistory y las siguientes funciones:
Novedad versión 2025
HClearSchedulingHistory
Elimina el historial de ejecución de trabajos programados en un servidor HFSQL.
Novedad versión 2025
HDeleteSchedulingHistory
Elimina el historial de ejecución de un trabajo programado en un servidor HFSQL. Este trabajo puede ser una tarea programada (procedimiento almacenado), una copia de seguridad, una optimización o una actualización de vista materializada.
Novedad versión 2025
HListSchedulingHistory
Obtiene el historial de ejecución de un trabajo programado en un servidor HFSQL. Este trabajo puede ser una tarea programada (procedimiento almacenado), copia de seguridad, optimización o actualización de una vista materializada.

Manipulación de tareas programadas en WLanguage

Las tareas programadas pueden manipularse utilizando:
  • funciones de tareas programadas:
    HAddTaskAdds a scheduled task on the server defined by the connection.
    HDeleteTaskDeletes a scheduled task from an HFSQL Client/Server server.
    HInfoTaskReturns the characteristics of a scheduled task in a hScheduledTask variable].
    HListTaskLists the scheduled tasks of an HFSQL Client/Server server for a given connection.
    HManageTaskActiva o desactiva una tarea programada de un servidor HFSQL Client/Server.
    HModifyTaskModifies a scheduled task on the HFSQL server defined by the connection.
  • funciones programadas de los elementos (recomendado):
    HAddSchedulingAdds a new scheduled item to an HFSQL server: scheduled task (stored procedure), backup, optimization or refresh of a materialized view.
    HDeleteSchedulingDelete a scheduled item on an HFSQL server: scheduled task (stored procedure), backup, optimization, refresh of a materialized view.
    HExecuteSchedulingImmediately executes a scheduled item regardless of its scheduling: scheduled task (stored procedure), backup, optimization, refresh of a materialized view.
    HListSchedulingLists scheduled elements defined on an HFSQL server: scheduled tasks (stored procedure), backup, optimization, refresh of a materialized view.
    HModifySchedulingModify a scheduled item on an HFSQL server: scheduled task (stored procedure), backup, optimization, refresh of a materialized view.
Ejemplo de uso de HDeclareExternal en un procedimiento almacenado
El siguiente procedimiento declara un archivo de datos con HDeclareExternal para poder utilizarlo en una tarea programada:
PROCEDURE NomDeLaProcédureStockée()

// Vérification de l'existence du fichier logique
IF NOT HFileExist(MaConnexion, CODEPOSTAUX) THEN
	// Fichier non connu, il faut le déclarer
	// Attention, pour déclarer un nouveau fichier dans une procédure stockée HFSQL, il faut :
	//  - NE PAS utiliser de connexion : C'est la base en cours sur laquelle 
	//		se trouve la procédure stockée qui sera utilisée
	//  - NE PAS donner un chemin complet : Le fichier sera recherché dans la base en cours. 
	//		Il est possible d'indiquer un sous-répertoire de la base de données. 
	//  - donner le nom complet du fichier, extension comprise (.FIC)
	IF NOT HDeclareExternal("CODEPOSTAUX.FIC", "CODEPOSTAUX") THEN
		// Erreur de déclaration du fichier
		RETURN HErrorInfo()
	END
END

// Utilisation du fichier de données
// POUR TOUT CODEPOSTAUX 
//	//Traitement...
// FIN

// Traitement OK, sans erreur
RETURN ""
Ejemplo de ejecución de la prueba de un procedimiento almacenado
El siguiente código se utiliza para ejecutar la prueba de un procedimiento almacenado en condiciones similares a las de su ejecución en una tarea programada:
// Fermeture de l'analyse en cours (la tâche planifiée n'a pas d'analyse en cours)
HCloseAnalysis()
// Déclaration de la connexion à la base HFSQL 
// Cette base contient la procédure stockée
cnxProcedureStockeeHFSQL is Connection
cnxProcedureStockeeHFSQL.Provider = hAccessHFClientServer
cnxProcedureStockeeHFSQL.User = "ADMIN"
cnxProcedureStockeeHFSQL.MotDePasse = ""
cnxProcedureStockeeHFSQL.Server = "NomServeur:4900"
cnxProcedureStockeeHFSQL.Database = "NomBaseDeDonnées"
// Ouverture de la connexion à la base HFSQL
HOpenConnection(cnxProcedureStockeeHFSQL)
IF ErrorOccurred = True THEN
	Error("Echec de l'ouverture de la connexion à la base HFSQL", HErrorInfo())
	RETURN
END
// Exécution de la procédure stockée HFSQL avec récupération de son résultat
sRes is string
sRes = HExecuteProcedure(cnxProcedureStockeeHFSQL, "NomDeLaProcédureStockée")
// Exploitation du résultat
...
Versión mínima requerida
  • Versión 10
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 09/04/2025

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