|
|
|
|
- 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
HFSQL Client/Server: Tareas programadas
Disponible solo con este tipo de conexió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: - Conectarse (si es necesario) a un servidor HFSQL.
- Haga doble clic en el nombre del servidor HFSQL en la estructura de árbol.
- La sección derecha del Centro control muestra una pestaña con el nombre del servidor.
- Haga clic en la pestaña "Elementos programados.
- En la cinta, en el grupo "Elementos programados", amplíe "Nueva programación" y seleccione "Programar una tarea"..
- 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..
- 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.
- Definir la frecuencia de la tarea: mes, día, hora.
- Dé una description a su tarea programada y valídela.
- La tarea programada aparece en el HFSQL control Center.
Eliminar una tarea programada Para eliminar una tarea programada: - Conectarse (si es necesario) a un servidor HFSQL.
- Haga doble clic en el nombre del servidor HFSQL en la estructura de árbol.
- La sección derecha del Centro control muestra una pestaña con el nombre del servidor.
- Haga clic en la pestaña "Elementos programados.
- Seleccione la tarea programada que desea eliminar.
- 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: - Conectarse (si es necesario) a un servidor HFSQL.
- Haga doble clic en el nombre del servidor HFSQL en la estructura de árbol.
- La sección derecha del Centro control muestra una pestaña con el nombre del servidor.
- Haga clic en la pestaña "Elementos programados.
- Seleccione la tarea programada que desea modificar.
- 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"). - 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.
- 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: - Cree una variable de tipo hScheduledTask. Especifique las características de la tarea programada mediante las propiedades de hScheduledTask.
- Añadir la tarea programada con HAddTask.
Las siguientes funciones de WLanguage también se pueden utilizar para gestionar las tareas programadas:
| | HAddTask | Agrega una tarea programada en el servidor definido por la conexión. | HDeleteTask | Elimina una tarea programada de un servidor HFSQL Client/Server. | HInfoTask | Devuelve las características de una tarea programada en una variable de tipo hScheduledTask. | HListTask | Lista las tareas programadas de un servidor HFSQL Client/Server para una conexión dada. | HManageTask | Activa o desactiva una tarea programada de un servidor HFSQL Client/Server. | HModifyTask | Modifica una tarea programada en el servidor HFSQL definido por la conexión. |
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 ...
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|