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 HFSQL control Center
  • Crear una tarea programada
  • Eliminar una tarea programada
  • Modificar una tarea programada
  • Tareas programadas a través de la programación
  • Observaciones
  • Ejemplo de uso de HDeclareExternal en una Procedure almacenada
  • Ejemplo para ejecutar la prueba de un Procedure almacenado
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
Presentación
Las tareas programadas se utilizan para programar las tareas de automatic. Tiene la capacidad de definir tareas programadas en el servidor HFSQL.. Estas tareas programadas pueden corresponder a:
  • la llamada a un Procedure almacenado,
  • la copia de seguridad de la base de datos.
La llamada a un Procedure almacenado se utiliza para ejecutar el código de su elección, por ejemplo el mantenimiento personalizado, la edición de estadísticas, ...
Las tareas programadas se pueden gestionar:
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 Notification.
Tareas programadas en el HFSQL control Center

Crear una tarea programada

En el Centro control de HFSQL, las tareas programadas pueden ser definidas a nivel de servidor.
Para crear una tarea programada:
  1. Conectarse (si es necesario) a un servidor HFSQL.
  2. Haga doble clic en el nombre del servidor HFSQL en la estructura de árbol.
  3. La sección derecha del Centro control muestra una pestaña con el nombre del servidor.
  4. Haga clic en la pestaña "Elementos programados.
  5. En la cinta, en el grupo "Elementos programados", amplíe "Nueva programación" y seleccione "Programar una tarea"..
  6. Seleccione el modo de tiempo de ejecución de la tarea: la tarea se puede ejecutar:
    • Periódicamente. Entonces asistente le permite definir la frecuencia de ejecución de la tarea.
    • y/o cuando se inicia el servidor HFSQL. Si se selecciona esta opción, se debe especificar si:
      • la tarea es bloquear: en este caso, el servidor HFSQL no será accesible durante la ejecución de la tarea.
      • la tarea debe ser ejecutada en la tarea de Background: en este caso, el servidor HFSQL puede ser utilizado tan pronto como se inicie..
  7. Seleccione:
    • la base de datos que contiene el Procedure almacenado para ejecutar.
    • el conjunto que contiene el Procedure almacenado para ejecutar.
    • el Procedure almacenado para ejecutar.
      Atención: Para que un Procedure almacenado iniciado desde una tarea programada pueda acceder a los datos, debe utilizar HDeclareExternal. Esta función se utiliza para declarar las fuentes de datos que se utilizarán en los procesos de la Procedure almacenada. De hecho, cuando una Procedure almacenada se inicia desde el Centro control HFSQL, no hay un análisis actual y los datos de la HFSQL Client/Server no son accesibles inmediatamente.
      Si no se utiliza HDeclareExternal en el código del Procedure almacenado, el Procedure provocará un error fatal, notificado en el registro de eventos del sistema.
      Observación: cuando un Procedure almacenado es iniciado por HExecuteProcedure desde una aplicación WINDEV, WEBDEV o WINDEV Mobile, utiliza el análisis de la aplicación y puede utilizar directamente los datos de HFSQL Client/Server.
  8. Definir la frecuencia de la tarea: mes, día, hora.
  9. Dé una description a su tarea programada y valídela.
  10. La tarea programada aparece en el HFSQL control Center.

Eliminar una tarea programada

Para eliminar una tarea programada:
  1. Conectarse (si es necesario) a un servidor HFSQL.
  2. Haga doble clic en el nombre del servidor HFSQL en la estructura de árbol.
  3. La sección derecha del Centro control muestra una pestaña con el nombre del servidor.
  4. Haga clic en la pestaña "Elementos programados.
  5. Seleccione la tarea programada que desea eliminar.
  6. En la cinta, en el grupo "Elementos programados", haga clic en "Eliminar"..
    También tiene la posibilidad de utilizar el menú contextual del elemento programado (opción "Eliminar").

Modificar una tarea programada

Para modificar una tarea programada:
  1. Conectarse (si es necesario) a un servidor HFSQL.
  2. Haga doble clic en el nombre del servidor HFSQL en la estructura de árbol.
  3. La sección derecha del Centro control muestra una pestaña con el nombre del servidor.
  4. Haga clic en la pestaña "Elementos programados.
  5. Seleccione la tarea programada que desea modificar.
  6. En la cinta, en el grupo "Elementos programados", haga clic en "Editar"..
    También puede utilizar el menú contextual del elemento programado (opción "Editar").
  7. Se muestra una ventana description del elemento programado. Todas las características tipificadas en la asistente están agrupadas en varias pestañas:
    • Pestaña "General": Define si la tarea está habilitada así como su tipo (copia de seguridad o almacenada Procedure).
    • "pestaña"Calendario: Define las opciones de tiempo de ejecución de la tarea programada (mes, día, hora y número de ejecuciones, ejecución al inicio).
    • "Pestañas"Backup: Estas dos fichas definen las opciones que se tienen en cuenta si la tarea programada corresponde a una copia de seguridad.
  8. Valide.
Tareas programadas a través de la programación
Las tareas programadas se gestionan mediante la programación a través del tipo avanzado hScheduledTask y a través de varias funciones de WLanguage.
Para crear mediante programación una tarea programada:
  1. Cree una variable de tipo hScheduledTask. Especifique las características de la tarea programada mediante las propiedades de hScheduledTask.
  2. Añadir la tarea programada con HAddTask.
Las siguientes funciones de WLanguage también se pueden utilizar para gestionar las tareas programadas:
HAddTaskAgrega una tarea programada en el servidor definido por la conexión.
HDeleteTaskElimina una tarea programada de un servidor HFSQL Client/Server.
HInfoTaskDevuelve las características de una tarea programada en una variable de tipo hScheduledTask.
HListTaskLista las tareas programadas de un servidor HFSQL Client/Server para una conexión dada.
HManageTaskActiva o desactiva una tarea programada de un servidor HFSQL Client/Server.
HModifyTaskModifica una tarea programada en el servidor HFSQL definido por la conexión.
Observaciones
Para añadir una tarea programada, debe tener:
  • los permisos para administrar las tareas (constante hRightsManageTask).
  • los derechos para ejecutar el comando relacionado en la tarea programada.
La tarea se realizará con la identidad del usuario definida por la conexión.
Ejemplo de uso de HDeclareExternal en una Procedure almacenada
El siguiente Procedure declara un archivo de datos con HDeclareExternal para poder utilizarlo en una tarea programada:
PROCEDURE NameOfStoredProcedure()
 
// Check the existence of the logical file
IF NOT HFileExist(MyConnection, ZIPCODES) THEN
// File not known, it must be declared
// Caution: to declare a new file in a stored HFSQL procedure, you must:
//  - use NO connection: The current database on which
// the stored procedure is found will be used
//  - specify NO full path: The file will be sought in the current database.
// You have the ability to specify a subdirectory of the database.
//  - specify the full name of the file with its extension (.FIC)
IF NOT HDeclareExternal("ZIPCODES.FIC", "ZIPCODES") THEN
// Error while declaring the file
RESULT HErrorInfo()
END
END
 
// Use the data file
// FOR EACH ZIPCODES
// //Process...
// END
 
// Process OK, without error
RETURN ""
Ejemplo para ejecutar la prueba de un Procedure almacenado
El siguiente código se utiliza para ejecutar la prueba de un Procedure almacenado en condiciones similares a las de su ejecución en una tarea de programación:
// Close the current analysis (the scheduled task has no current analysis)
HCloseAnalysis()


// Declare the connection to the HFSQL database
// This database contains the stored procedure
cntStockedHFSQLProcedure is Connection
cntStockedHFSQLProcedure..Provider = hAccessHFClientServer
cntStockedHFSQLProcedure..User = "ADMIN"
cntStockedHFSQLProcedure..Password = ""
cntStockedHFSQLProcedure..Server = "ServerName:4900"
cntStockedHFSQLProcedure..Database = "DatabaseName"


// Establish the connection with the HFSQL database
HOpenConnection(cntStockedHFSQLProcedure)
IF ErrorOccurred = True THEN
Error("Failure establishing the connection to the HFSQL database", HErrorInfo())
RETURN
END

// Run the HFSQL stored procedure and retrieve its result
sRes is string
sRes = HExécuteProcédure(cntStockedHFSQLProcedure, "StoredProcedureName")

// Exploit the result
...
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: 27/01/2023

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