PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Propriétés WLangage utilisables avec le type hDescriptionSauvegarde
  • Fonctionnement de la limite du nombre de sauvegardes (propriété ..LimiteNombreSauvegarde)
  • Paramètres de la procédure stockée appelée AVANT la sauvegarde
  • Paramètres de la procédure stockée appelée APRES la sauvegarde
  • Fonctions utilisant les variables de type hDescriptionSauvegarde :
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
hDescriptionSauvegarde (Type de variable)
En anglais : hBackupDescription (Type of variable)
HFSQL Client/ServeurDisponible uniquement avec ce type de connexion
Le type hDescriptionSauvegarde permet de décrire une sauvegarde HFSQL Client/Serveur par programmation.
Cette sauvegarde peut être immédiate ou planifiée.
Les caractéristiques de cette sauvegarde peuvent être définies et modifiées à l'aide de différentes propriétés WLangage.
Remarque : Pour plus de détails sur la déclaration de ce type de variable et l'utilisation des propriétés WLangage, consultez Déclaration d'une variable.
Versions 17 et supérieures
iPhone/iPad Ce type de variable est désormais disponible pour les applications iPhone et iPad.
Nouveauté 17
iPhone/iPad Ce type de variable est désormais disponible pour les applications iPhone et iPad.
iPhone/iPad Ce type de variable est désormais disponible pour les applications iPhone et iPad.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
Exemple
// Description d'une sauvegarde immédiate
Sauvegarde_Doc est une hDescriptionSauvegarde
Sauvegarde_Doc..Description = "Sauvegarde Doc"
Sauvegarde_Doc..AvecIndex = Vrai
Sauvegarde_Doc..Jauge = "JAUGE_MaJauge"
Sauvegarde_Doc..Destination = "Doc/Sauvegarde"
Sauvegarde_Doc..Source = "Doc/*"
Sauvegarde_Doc..ProcédureAvant = "mabasededonnees:ColDoc.Vérif"
Sauvegarde_Doc..ProcédureAprès = "mabasededonnees:ColDoc.VérifSauvegarde"
Sauvegarde_Doc..LimiteNombreSauvegarde = 5
// Enregistrement de la sauvegarde
HSauvegarde(MaConnexion, Sauvegarde_Doc)
// Création d'une sauvegarde planifiée toutes les 5 minutes
// avec une sauvegarde différentielle toutes les minutes
hSvg est une hDescriptionSauvegarde
hSvg..Activé = Vrai
hSvg..AvecIndex = Vrai
hSvg..Description = "Sauvegarde planifiée toutes les N minutes " + ...
" avec une sauvegarde différentielle toutes les minutes sur la base de données " + ...
 cnx..BaseDeDonnées + " créée le "+ DateVersChaîne(DateSys(), maskDateSystème) + ...
" à " + HeureVersChaîne(HeureSys(), "HH:MM:SS:CC")
hSvg..Destination = "Sauvegarde_"+ cnx..BaseDeDonnées
hSvg..LimiteNombreSauvegarde = 2
hSvg..Source = cnx..BaseDeDonnées
hSvg..PlanificationComplète..Mois = "*"
hSvg..PlanificationComplète..JourDuMois = "*"
// Définition de la planification
dhDateHeureServeur est une DateHeure = HInfoServeur(cnx, hInfoDate)
dhDateHeureServeur..Minute++
hSvg..PlanificationComplète..Heure = dhDateHeureServeur..Heure
hSvg..PlanificationComplète..Minute = dhDateHeureServeur..Minute
hSvg..PlanificationComplète..JourDeLaSemaine = "*"
hSvg..PlanificationComplète..JourDuMoisOuDeLaSemaine = Faux
hSvg..PlanificationDifférentielle..Mois = "*"
hSvg..PlanificationDifférentielle..JourDuMois = "*"
hSvg..PlanificationDifférentielle..Heure = "*"
hSvg..PlanificationDifférentielle..Minute = "*"
hSvg..PlanificationDifférentielle..JourDeLaSemaine = "*"
hSvg..PlanificationDifférentielle..JourDuMoisOuDeLaSemaine = Faux
 
// Ajout de la sauvegarde planifiée
SI HAjouteSauvegardePlanifiée(cnx, hSvg) = Faux ALORS
Erreur("Echec de la création de la sauvegarde planifiée", HErreurInfo(hErrComplet))
RETOUR
FIN
Remarques

Propriétés WLangage utilisables avec le type hDescriptionSauvegarde

Les propriétés suivantes peuvent être utilisées pour manipuler une variable de type hDescriptionSauvegarde.
NomType manipuléEffet
Versions 15 et supérieures
Activé
Nouveauté 15
Activé
Activé
BooléenPermet de gérer l'activation d'une sauvegarde planifiée :
  • Vrai si la planification de la sauvegarde est activée : la sauvegarde est réalisée selon la planification définie.
  • Faux si la planification de la sauvegarde n'est pas activée : la sauvegarde n'est pas réalisée.
AvecIndexBooléen
  • Vrai si la sauvegarde des index doit être réalisée,
  • Faux dans le cas contraire.
Cette propriété est optionnelle.
Par défaut, la sauvegarde des index est réalisée.
Versions 18 et supérieures
Compression
Nouveauté 18
Compression
Compression
Constante de type EntierPermet de compresser ou non le résultat de la sauvegarde. Cette propriété peut correspondre à une des constantes suivantes :
  • zipFormatAucun : Aucune compression.
  • zipFormatZIP : Compression au format Zip.
DescriptionChaîne de caractèresDescription associée à la sauvegarde.
Cette propriété est optionnelle.
Par défaut, la description de la sauvegarde correspond à une chaîne vide ("").
DestinationChaîne de caractèresDestination de la sauvegarde (Nom et destination de la sauvegarde).
La sauvegarde sera réalisée sur le serveur, dans un emplacement défini par ce nom.
Si ce nom correspond à un chemin relatif, la sauvegarde sera placée dans le sous-répertoire "Backup" du serveur HFSQL.
Pour spécifier :
  • le répertoire du service Manta, il suffit d'utiliser la chaîne de caractères "%%EXE%%".
  • l'année, il suffit d'utiliser la chaîne de caractères "%%ANNEE%%" (par exemple 2008).
  • le mois sur 2 chiffres, il suffit d'utiliser la chaîne de caractères "%%MOIS%%" (par exemple 03).
  • le jour, il suffit d'utiliser la chaîne de caractères "%%JOUR%%".
  • l'heure, il suffit d'utiliser la chaîne de caractères "%%HEURE%%".
  • les minutes, il suffit d'utiliser la chaîne de caractères "%%MINUTE%%".
Versions 15 et supérieures
Identifiant
Nouveauté 15
Identifiant
Identifiant
EntierIdentifiant de la sauvegarde.
Cette propriété est disponible en lecture uniquement.
JaugeNom d'un champNom du champ Jauge utilisé dans la fenêtre pour voir la progression de la phase d'initialisation de la sauvegarde (et non la progression de la sauvegarde).
Propriété optionnelle disponible uniquement en WINDEV.
LimiteNombreSauvegardeEntierNombre maximum de sauvegardes du même type à réaliser. Si ce chiffre correspond à 0, il n'y a pas de limite.
Si le nombre de sauvegardes dépasse la valeur limite, certaines sauvegardes anciennes seront retirées du serveur.
Pour plus de détails, consultez le paragraphe "Fonctionnement de la limite du nombre de sauvegardes".
Versions 15 et supérieures
PlanificationComplète
Nouveauté 15
PlanificationComplète
PlanificationComplète
Variable de type hPlanificationCaractéristiques d'une sauvegarde complète. Cette propriété est obligatoire.
Versions 15 et supérieures
PlanificationDifférentielle
Nouveauté 15
PlanificationDifférentielle
PlanificationDifférentielle
Variable de type hPlanificationCaractéristiques d'une sauvegarde différentielle. Il est possible de définir à la fois une sauvegarde complète et une sauvegarde différentielle. Il n'est pas possible de réaliser uniquement une sauvegarde différentielle.
Cette propriété est optionnelle.
ProcédureAprèsChaîne de caractèresNom de la procédure stockée utilisée après l'exécution de la sauvegarde.
Le nom de la procédure est de la forme : <Nom de la base de données>:<Nom de la collection de procédures>.<Nom de la procédure stockée>.

Cette propriété est optionnelle.
Si cette propriété n'est pas définie, aucune procédure n'est exécutée.

Pour plus de détails, consultez le paragraphe "Paramètres de la procédure stockée appelée APRES la sauvegarde".
ProcédureAvantChaîne de caractèresNom de la procédure stockée utilisée avant l'exécution de la sauvegarde.
Le nom de la procédure est de la forme : <Nom de la base de données>:<Nom de la collection de procédures>.<Nom de la procédure stockée>.

Cette propriété est optionnelle.
Si cette propriété n'est pas définie, aucune procédure n'est exécutée.

Pour plus de détails, consultez le paragraphe "Paramètres de la procédure stockée appelée AVANT la sauvegarde".
Source (*)Chaîne de caractèresFiltre utilisé pour définir les données à sauvegarder. Les valeurs possibles sont :
  • * : Sauvegarde toutes les bases de données du serveur, les journaux, les bases de données systèmes (utilisateurs, groupes, droits).
  • Nom de la base de données/* : Sauvegarde toute la base de données : fichiers, liaisons, procédures stockées, triggers.
  • Nom de la base de données/Nom Fichier1 : Sauvegarde le fichier <Nom Fichier1> de la base de données <Nom de la base de données>.
  • Nom de la base de données 1/Nom Fichier1 + TAB + Nom de la base de données 2/Nom Fichier2 + ... : Liste d'éléments à sauvegarder. Le séparateur utilisé peut être la tabulation (TAB) ou le point virgule (";").
  • System : Sauvegarde les bases de données systèmes (utilisateurs, groupes, droits).
Cette propriété est obligatoire.
Versions 15 et supérieures
Utilisateur
Nouveauté 15
Utilisateur
Utilisateur
Chaîne de caractèresUtilisateur qui a créé la sauvegarde.
Cette propriété est disponible en lecture uniquement.
Versions 25 et supérieures
WebhookAprès
Nouveauté 25
WebhookAprès
WebhookAprès
Chaîne de caractèresURL d'un service REST qui sera déclenché après la sauvegarde et la procédure spécifiée avec la propriété ..ProcédureAprès (si elle existe).
Une requête de type POST sera effectuée sur l'URL fournie. L'URL reçoit un contenu de type 'application/json' correspondant aux informations sur la sauvegarde effectuée. Par exemple :
{
"identifier" : "283",
"destination" : "c:\backup\283\monbackup.zip",
"state" : "completed"
}
où :
  • "identifier" correspond à l'identifiant de la sauvegarde.
  • "destination" correspond à la destination de la sauvegarde.
  • "state" correspond à l'état de la sauvegarde. Deux états sont possibles : 'completed' ou 'error'.

Remarque : Ces propriétés peuvent être utilisées avec une des deux syntaxes suivantes :
  • <Nom de la variable>..<Nom de la propriété>
  • <Nom de la variable>.<Nom de la propriété>
Les propriétés suivies du caractère (*) sont obligatoires.

Fonctionnement de la limite du nombre de sauvegardes (propriété ..LimiteNombreSauvegarde)

Lorsque la limite du nombre de sauvegardes est activée (..LimiteNombreSauvegarde différent de 0)  :
  1. Avant la sauvegarde : Recherche des anciennes sauvegardes similaires (même source et même destination). Si ces sauvegardes sont en erreur, les fichiers de la sauvegarde seront effacés du disque (mais la sauvegarde restera présente dans l'historique des sauvegardes).
  2. Exécution de la "Procédure Avant".
  3. Sauvegarde.
  4. Exécution de la "Procédure Après".
  5. Si le nombre de sauvegardes similaires (même source et même destination) effectuées avec succès est supérieur à la valeur de la limite alors le serveur va supprimer certaines de ces sauvegardes et les retirer de l'historique. Cette suppression se fait en commençant par la sauvegarde la plus ancienne jusqu'à ce que le nombre de sauvegardes soit égal à la valeur demandée.
Remarque : Il est possible d'utiliser cette propriété pour mettre en place un système de sauvegarde spécifique. Par exemple :
  • Une sauvegarde tous les jours, avec conservation des 7 dernières.
  • Une sauvegarde toutes les semaines avec conservation des 4 dernières.
  • Une sauvegarde tous les mois avec conservation des 6 dernières.

Paramètres de la procédure stockée appelée AVANT la sauvegarde

La procédure stockée appelée AVANT la sauvegarde peut prendre des paramètres. Cette procédure est de la forme :
PROCEDURE <Nom de la procédure>(<Données à sauvegarder>, ...
<Destination de la sauvegarde>, <Description>)
Ces paramètres sont optionnels. Ils vous permettront de manipuler les indications suivantes dans le code de la procédure stockée :
  • <Données à sauvegarder> : Chaîne de caractères correspondant aux informations à sauvegarder. Correspond à la propriété ..Source. Les valeurs possibles sont les suivantes :
    *Sauvegarde toutes les bases de données du serveur, les journaux, les bases de données systèmes (utilisateurs, groupes, droits).
    Nom de la base de données/*Sauvegarde toute la base de données : fichiers, liaisons, procédures stockées, triggers.
    Nom de la base de données/Nom Fichier1Sauvegarde le fichier <Nom Fichier1> de la base de données <Nom de la base de données>.
    Nom de la base de données 1/Nom Fichier1 + TAB + Nom de la base de données 2/Nom Fichier2 + ...Liste d'éléments à sauvegarder. Le séparateur utilisé peut être la tabulation (TAB) ou le point virgule (";").
    SystemSauvegarde les bases de données systèmes (utilisateurs, groupes, droits).
  • <Destination de la sauvegarde> : Nom et destination de la sauvegarde. Correspond à la propriété ..Destination. La sauvegarde sera réalisée sur le serveur, dans un emplacement défini par ce nom. Si ce nom correspond à un chemin relatif, la sauvegarde sera placée dans le sous-répertoire "Backup" du serveur HFSQL. Pour spécifier :
    • le répertoire du service Manta, il suffit d'utiliser la chaîne de caractères "%%EXE%%".
    • l'année, il suffit d'utiliser la chaîne de caractères "%%ANNEE%%" (par exemple 2008).
    • le mois sur 2 chiffres, il suffit d'utiliser la chaîne de caractères "%%MOIS%%" (par exemple 03).
    • le jour, il suffit d'utiliser la chaîne de caractères "%%JOUR%%".
    • l'heure, il suffit d'utiliser la chaîne de caractères "%%HEURE%%".
    • les minutes, il suffit d'utiliser la chaîne de caractères "%%MINUTE%%".
  • <Description> : Description de la sauvegarde. Correspond à la propriété ..Description.

Paramètres de la procédure stockée appelée APRES la sauvegarde

La procédure stockée appelée APRES la sauvegarde peut prendre des paramètres. Cette procédure est de la forme :
PROCEDURE <Nom de la procédure>(<Données à sauvegarder>, <Destination de la sauvegarde>, ...
<Description>, <Etat>, <Message d'erreur>)
Ces paramètres sont optionnels. Ils vous permettront de manipuler les indications suivantes dans le code de la procédure stockée :
  • <Données à sauvegarder> : Chaîne de caractères correspondant aux informations à sauvegarder. Correspond à la propriété ..Source. Les valeurs possibles sont les suivantes :
    *Sauvegarde toutes les bases de données du serveur, les journaux, les bases de données systèmes (utilisateurs, groupes, droits).
    Nom de la base de données/*Sauvegarde toute la base de données : fichiers, liaisons, procédures stockées, triggers.
    Nom de la base de données/Nom Fichier1Sauvegarde le fichier <Nom Fichier1> de la base de données <Nom de la base de données>.
    Nom de la base de données 1/Nom Fichier1 + TAB + Nom de la base de données 2/Nom Fichier2 + ...Liste d'éléments à sauvegarder. Le séparateur utilisé peut être la tabulation (TAB) ou le point virgule (";").
    SystemSauvegarde les bases de données systèmes (utilisateurs, groupes, droits).
  • <Destination de la sauvegarde> : Nom et destination de la sauvegarde. Correspond à la propriété ..Destination. La sauvegarde sera réalisée sur le serveur, dans un emplacement défini par ce nom. Si ce nom correspond à un chemin relatif, la sauvegarde sera placée dans le sous-répertoire "Backup" du serveur HFSQL. Pour spécifier :
    • le répertoire du service Manta, il suffit d'utiliser la chaîne de caractères "%%EXE%%".
    • l'année, il suffit d'utiliser la chaîne de caractères "%%ANNEE%%" (par exemple 2008).
    • le mois sur 2 chiffres, il suffit d'utiliser la chaîne de caractères "%%MOIS%%" (par exemple 03).
    • le jour, il suffit d'utiliser la chaîne de caractères "%%JOUR%%".
    • l'heure, il suffit d'utiliser la chaîne de caractères "%%HEURE%%".
    • les minutes, il suffit d'utiliser la chaîne de caractères "%%MINUTE%%".
  • <Description> : Description de la sauvegarde. Correspond à la propriété ..Description.
  • <Etat> : entier (ou constante de type Entier) permettant de connaître l'état de la sauvegarde :
    hSvgEnCours0Sauvegarde en cours
    hSvgTerminée 1Sauvegarde terminée
    hSvgAnnulée2Sauvegarde annulée
    hSvgErreur3Erreur lors de la sauvegarde
  • <Message d'erreur> : Message d'erreur s'il existe sous forme de chaîne de caractères.

Fonctions utilisant les variables de type hDescriptionSauvegarde :

Versions 15 et supérieures
HAjouteSauvegardePlanifiée
HAjouteSauvegardePlanifiée
Ajoute une planification de sauvegarde complète (avec ou sans sauvegarde différentielle) sur le serveur défini par la connexion.
Versions 15 et supérieures
HListeSauvegardePlanifiée
HListeSauvegardePlanifiée
Liste les sauvegardes complètes et différentielles qui ont été planifiées sur un serveur HFSQL Client/Serveur.
Versions 15 et supérieures
HModifieSauvegardePlanifiée
HModifieSauvegardePlanifiée
Modifie une planification de sauvegarde.
Versions 12 et supérieures
HSauvegarde
Nouveauté 12
HSauvegarde
HSauvegarde
Réalise la sauvegarde du contenu d'un serveur HFSQL : toutes les bases de données du serveur, une ou plusieurs bases de données, un ou plusieurs fichiers de données.
Version minimum requise
  • Version 14
Documentation également disponible pour…
Commentaires
Propriété Source
Dans le mode de sélection de fichier un à un (Base1/Fichier 1+TAB+Base 2/Fichier 2+....), il faut ajouter l'extension .FIC au nom du fichier pour que cela fonctionne correctement
Baptiste Bourlet
25 mai 2016