|
|
|
|
|
- Présentation
- Tâches planifiées dans le Centre de Contrôle HFSQL
- Créer une tâche planifiée
- Supprimer une tâche planifiée
- Modifier une tâche planifiée
- Tâches planifiées par programmation
- Remarques
- Exemple d'utilisation de la fonction HDéclareExterne dans une procédure stockée
- Exemple de test d'une procédure stockée
HFSQL Client/Serveur : Tâches planifiées
Disponible uniquement avec ce type de connexion
Les tâches planifiées permettent de planifier des tâches automatiques. Il est possible de définir des tâches planifiées au niveau du serveur HFSQL. Ces tâches planifiées peuvent correspondre : - soit à l'appel d'une procédure stockée,
- soit à la sauvegarde de la base.
L'appel d'une procédure stockée permet d'exécuter le code de votre choix, par exemple maintenance personnalisée, édition de statistiques, ... Les tâches planifiées peuvent être gérées : Exécution de plusieurs tâches planifiées successivement : Si la tâche planifiée précédente n'est pas terminée, la nouvelle tâche planifiée ne s'exécute pas, et une notification est envoyée par le serveur. Tâches planifiées dans le Centre de Contrôle HFSQL Créer une tâche planifiée Dans le Centre de Contrôle HFSQL, les tâches planifiées peuvent être définies au niveau du serveur. Pour créer une tâche planifiée : - Connectez-vous si nécessaire à un serveur HFSQL.
- Double-cliquez sur le nom du serveur HFSQL dans l'arborescence.
- La partie droite du Centre de Contrôle affiche un onglet au nom du serveur.
- Cliquez sur l'onglet "Eléments planifiés".
- Dans le ruban, dans le groupe "Eléments planifiés", déroulez "Nouvelle planification" et sélectionnez "Planifier une tâche".
- Sélectionnez le mode d'exécution de la tâche : la tâche peut être exécutée :
- Périodiquement. L'assistant vous permet ensuite de définir la fréquence d'exécution de la tâche.
- et/ou à chaque démarrage du serveur HFSQL. Si cette option est sélectionnée, il est nécessaire d'indiquer si :
- la tâche est bloquante : dans ce cas, le serveur HFSQL sera inaccessible pendant l'exécution de la tâche.
- la tâche doit être exécutée en tâche de fond : dans ce cas, le serveur HFSQL pourra être utilisé dès son démarrage.
- Sélectionnez :
- la base de données contenant la procédure stockée à exécuter.
- la collection contenant la procédure stockée à exécuter.
- la procédure stockée à exécuter.
Attention : Pour qu'une procédure stockée lancée depuis une tâche planifiée accède aux données, il faut utiliser la fonction HDéclareExterne. Cette fonction permet de déclarer des sources de données qui seront utilisées dans les traitements de la procédure stockée. En effet, lorsqu'une procédure stockée est lancée depuis le centre de contrôle HFSQL, il n'y a pas d'analyse en cours et les données HFSQL Client/Serveur ne sont pas immédiatement accessibles. Si la fonction HDéclareExterne n'est pas utilisée dans le code de la procédure stockée, la procédure provoquera une erreur fatale, notée dans le journal des événements du système. Remarque : lorsqu'une procédure stockée est lancée depuis une application WINDEV, WEBDEV ou WINDEV Mobile avec la fonction HExécuteProcédure, elle utilise l'analyse de l'application et peut donc utiliser directement des données HFSQL Client/Serveur.
- Définissez la fréquence de la tâche : mois, jour, heure.
- Donnez une description à votre tâche planifiée et validez.
- La tâche planifiée apparaît dans le Centre de Contrôle HFSQL.
Supprimer une tâche planifiée Pour supprimer une tâche planifiée : - Connectez-vous si nécessaire à un serveur HFSQL.
- Double-cliquez sur le nom du serveur HFSQL dans l'arborescence.
- La partie droite du Centre de Contrôle affiche un onglet au nom du serveur.
- Cliquez sur l'onglet "Eléments planifiés".
- Sélectionnez la tâche planifiée à supprimer.
- Dans le ruban, dans le groupe "Eléments planifiés", cliquez sur "Supprimer".
Vous pouvez également utiliser le menu contextuel de l'élément planifié (option "Supprimer").
Modifier une tâche planifiée Pour modifier une tâche planifiée : - Connectez-vous si nécessaire à un serveur HFSQL.
- Double-cliquez sur le nom du serveur HFSQL dans l'arborescence.
- La partie droite du Centre de Contrôle affiche un onglet au nom du serveur.
- Cliquez sur l'onglet "Eléments planifiés".
- Sélectionnez la tâche planifiée à modifier.
- Dans le ruban, dans le groupe "Eléments planifiés", cliquez sur "Editer".
Vous pouvez également utiliser le menu contextuel de l'élément planifié (option "Editer"). - Une fenêtre de description de l'élément planifié apparaît. Toutes les caractéristiques saisies dans l'assistant sont regroupées sur plusieurs onglets :
- Onglet "Général" : Définit si la tâche est active et son type (sauvegarde ou procédure stockée).
- Onglet "Planification" : Définit les options d'exécution de la tâche planifiée (mois, jour, heure, nombre d'exécutions, exécution au démarrage).
- Onglets "Sauvegarde" : Ces deux onglets définissent les options prises en compte si la tâche planifiée correspond à une sauvegarde.
- Validez.
Tâches planifiées par programmation La gestion des tâches planifiées par programmation est réalisée grâce au type avancé hTâchePlanifiée et à plusieurs fonctions WLangage. Pour créer une tâche planifiée par programmation : - Créez une variable de type hTâchePlanifiée. Spécifiez les différentes caractéristiques de la tâche planifiée grâce aux propriétés du type hTâchePlanifiée.
- Ajoutez la tâche planifiée grâce à la fonction HAjouteTâche.
Le WLangage met également à votre disposition les fonctions suivantes pour gérer les tâches planifiées :
| | HAjouteTâche | Ajoute une tâche planifiée sur le serveur défini par la connexion. | HGèreTâche | Active ou désactive une tâche planifiée d'un serveur HFSQL Client/Serveur. | HInfoTâche | Renvoie les caractéristiques d'une tâche planifiée dans une variable de type hTâchePlanifiée. | HListeTâche | Liste les tâches planifiées d'un serveur HFSQL Client/Serveur pour une connexion donnée. | HModifieTâche | Modifie une tâche planifiée sur le serveur HFSQL défini par la connexion. | HSupprimeTâche | Supprime une tâche planifiée d'un serveur HFSQL Client/Serveur. |
Pour ajouter une tâche planifiée, il est nécessaire de posséder : - le droit de gérer les tâches (constante hDroitGèreTâche).
- le droit d'exécuter la commande liée à la tâche planifiée.
La tâche sera exécutée avec l'identité de l'utilisateur défini par la connexion. Exemple d'utilisation de la fonction HDéclareExterne dans une procédure stockée La procédure suivante déclare un fichier de données avec la fonction HDéclareExterne afin de pouvoir l'utiliser dans une tâche planifiée :
PROCÉDURE NomDeLaProcédureStockée()
SI PAS HFichierExiste(MaConnexion, CODEPOSTAUX) ALORS
SI PAS HDéclareExterne("CODEPOSTAUX.FIC", "CODEPOSTAUX") ALORS
RENVOYER HErreurInfo()
FIN
FIN
RENVOYER ""
Exemple de test d'une procédure stockée Le code suivant permet de tester une procédure stockée dans des conditions similaires à celles de son exécution dans une tâche planifiée :
HFermeAnalyse()
cnxProcedureStockeeHFSQL est une Connexion
cnxProcedureStockeeHFSQL..Provider = hAccèsHFClientServeur
cnxProcedureStockeeHFSQL..Utilisateur = "ADMIN"
cnxProcedureStockeeHFSQL..MotDePasse = ""
cnxProcedureStockeeHFSQL..Serveur = "NomServeur:4900"
cnxProcedureStockeeHFSQL..BaseDeDonnées = "NomBaseDeDonnées"
HOuvreConnexion(cnxProcedureStockeeHFSQL)
SI ErreurDétectée = Vrai ALORS
Erreur("Echec de l'ouverture de la connexion à la base HFSQL", HErreurInfo())
RETOUR
FIN
sRes est une chaîne
sRes = HExécuteProcédure(cnxProcedureStockeeHFSQL, "NomDeLaProcédureStockée")
...
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|