DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Gestion de HFSQL Client/Serveur
  • 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
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
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 :
  1. Connectez-vous si nécessaire à un serveur HFSQL.
  2. Double-cliquez sur le nom du serveur HFSQL dans l'arborescence.
  3. La partie droite du Centre de Contrôle affiche un onglet au nom du serveur.
  4. Cliquez sur l'onglet "Eléments planifiés".
  5. Dans le ruban, dans le groupe "Eléments planifiés", déroulez "Nouvelle planification" et sélectionnez "Planifier une tâche".
  6. 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.
  7. 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.
  8. Définissez la fréquence de la tâche : mois, jour, heure.
  9. Donnez une description à votre tâche planifiée et validez.
  10. 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 :
  1. Connectez-vous si nécessaire à un serveur HFSQL.
  2. Double-cliquez sur le nom du serveur HFSQL dans l'arborescence.
  3. La partie droite du Centre de Contrôle affiche un onglet au nom du serveur.
  4. Cliquez sur l'onglet "Eléments planifiés".
  5. Sélectionnez la tâche planifiée à supprimer.
  6. 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 :
  1. Connectez-vous si nécessaire à un serveur HFSQL.
  2. Double-cliquez sur le nom du serveur HFSQL dans l'arborescence.
  3. La partie droite du Centre de Contrôle affiche un onglet au nom du serveur.
  4. Cliquez sur l'onglet "Eléments planifiés".
  5. Sélectionnez la tâche planifiée à modifier.
  6. 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").
  7. 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.
  8. 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 :
  1. 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.
  2. 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âcheAjoute une tâche planifiée sur le serveur défini par la connexion.
HGèreTâcheActive ou désactive une tâche planifiée d'un serveur HFSQL Client/Serveur.
HInfoTâcheRenvoie les caractéristiques d'une tâche planifiée dans une variable de type hTâchePlanifiée.
HListeTâcheListe les tâches planifiées d'un serveur HFSQL Client/Serveur pour une connexion donnée.
HModifieTâcheModifie une tâche planifiée sur le serveur HFSQL défini par la connexion.
HSupprimeTâcheSupprime une tâche planifiée d'un serveur HFSQL Client/Serveur.
Remarques
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()

// Vérification de l'existence du fichier logique
SI PAS HFichierExiste(MaConnexion, CODEPOSTAUX) ALORS
// 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)
SI PAS HDéclareExterne("CODEPOSTAUX.FIC", "CODEPOSTAUX") ALORS
// Erreur de déclaration du fichier
RENVOYER HErreurInfo()
FIN
FIN

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

// Traitement OK, sans erreur
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 :
// Fermeture de l'analyse en cours (la tâche planifiée n'a pas d'analyse en cours)
HFermeAnalyse()

// Déclaration de la connexion Ã  la base HFSQL 
// Cette base contient la procédure stockée
cnxProcedureStockeeHFSQL est une Connexion
cnxProcedureStockeeHFSQL..Provider = hAccèsHFClientServeur
cnxProcedureStockeeHFSQL..Utilisateur = "ADMIN"
cnxProcedureStockeeHFSQL..MotDePasse = ""
cnxProcedureStockeeHFSQL..Serveur = "NomServeur:4900"
cnxProcedureStockeeHFSQL..BaseDeDonnées = "NomBaseDeDonnées"

// Ouverture de la connexion Ã  la base HFSQL
HOuvreConnexion(cnxProcedureStockeeHFSQL)
SI ErreurDétectée = Vrai ALORS
Erreur("Echec de l'ouverture de la connexion Ã  la base HFSQL", HErreurInfo())
RETOUR
FIN

// Exécution de la procédure stockée HFSQL avec récupération de son résultat
sRes est une chaîne
sRes = HExécuteProcédure(cnxProcedureStockeeHFSQL, "NomDeLaProcédureStockée")

// Exploitation du résultat
...
Version minimum requise
  • Version 10
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 04/07/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale