1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Sauvegarde et restauration d'une base avec 7zip

Discussion dans 'Base de donnés & HFSQL' créé par suenodesign, Fev 9, 2018.

  1. suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    507
    J'aime reçus:
    732
    Sauvegarde et restauration d'une base avec 7zip


    Vous voulez bénéficier de la puissance de 7ZIP

    Voici une manière bien pratique de pilotage de 7zip par windev

    1- Téléchargez les fichiers suivant et mettez les à coté de votre exécutable.

    Fichiers nécessaires

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    2- Procédure de sauvegarde
    Code (Windev):
    PROCEDURE My_SauvBD_7z(_sRep_Source est une chaîne="",_sRep_Destination est une chaîne="",_sArchiveName est une chaîne="",_sPWD est une chaîne="",_sCompType="",_sCompMode="")

    //     Adaptaion des commandes par SuenoDesign - http://fekwx.com/
    //  _sRep_Source : Le répertoire où se trouve les fichiers à sauvegarder // Ex : Les fichiers de votre base de données
    //  _sRep_Destination : Le répertoire de destination où va se créer l'archive
    //  _sArchiveName : Désignation de l'archive
    //  _sPWD : Mot de passe de l'archive, si vide l'archive ne sera pas verouillée
    // _sCompType et _sCompMode voir documentation de 7z

       _bVal est un booléen=Faux
       _s7zG est une chaîne=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    +["\"]+"7zG.EXE"  // Fichier necessaire pour la sauvegarde et la restauration
       _s7zdll est une chaîne =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    +["\"]+"7z.dll" // Bibliothèque necessaire pour la sauvegarde et la restauration
       _sCMD est une chaîne =""

       SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_s7zG)=Faux OU

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_s7zdll)=Faux ALORS
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Le fichier "+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_s7zG,fFichier+fExtension) +"/ "+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_s7zdll,fExtension+fFichier)+" n'existe pas sur le disque","Opération annulée.")
           RENVOYER Faux
       FIN

       // Fermeture de tous les fichiers de la base pour éviter toute corruption
       SI PAS

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("*") ALORS
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Attention")
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Problème lors de la fermeture des fichiers","Opération annulée.")
           RENVOYER Faux
       FIN

       SI _sArchiveName="" ALORS
           _sArchiveName="SAUV"+"_"+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ()+"_"+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (),"HHMMSS")
       SINON
        _sArchiveName=_sArchiveName+"_"+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ()+"_"+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (),"HHMMSS")
      FIN

       SI PASfRépertoireExiste(_sRep_Destination) = Vrai ALORS
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Attention")
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Le répertoire de destination des archives [" + _sRep_Destination + "] n'existe pas sur le disque","Opération annulée.")
           RENVOYER Faux
       FIN

       _sCMD = "7zG a "

       // CompType
       SELON _sCompType
           CAS "7z": _sCMD += "-t7z "
           CAS "XZ": _sCMD += "-txz "
           CAS "ZIP": _sCMD += "-tzip "
           CAS "GZIP": _sCMD += "-tgzip"
           CAS "BZIP2": _sCMD += "-tbzip2 "
           CAS "TAR": _sCMD += "-ttar "
           CAS "WIM": _sCMD += "-twim"
           AUTRES CAS
               _sCMD += "-t7z "
       FIN

       _sCMD +=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (34)+_sRep_Destination+["\"]+_sArchiveName+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (34)+" "

    //  Répertoire source des fichiers à sauvegarder

     SI PAS

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_sRep_Source) = Vrai ALORS
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Attention")
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Le répertoire source des fichiers à sauvegarder [" + _sRep_Source + "] n'existe pas sur le disque","Opération annulée.")
           RENVOYER Faux
       FIN

       _sCMD +=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (34)+_sRep_Source+["\"]+"*"+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (34)

    //  Exclure certains fichiers d'etre sauvegardés avec l'attribut  [-x!]+nom du fichier ou extension à exclure
    //    Exemple : _sCMD +=" -x!*.ndx "
       _sCMD += "  -x!*.ndx "+" -x!g2p_produits_Catalog.*"+" -x!g2p_prod_prix_catalog.*"

       _sCMD += " -ssw "

       SELON _sCompMode
           CAS 1: _sCMD += "-mx0"
           CAS 2: _sCMD += "-mx1"
           CAS 3: _sCMD += "-mx3"
           CAS 4: _sCMD += "-mx5"
           CAS 5: _sCMD += "-mx7"
           CAS 6: _sCMD += "-mx9"
       
           AUTRES CAS
               _sCMD += "-mx9"
       FIN

       // Mot de passe du fichier archive s'il est renseigné
       IF

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_sPWD) <> "" THEN
           _sCMD += " -p"+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_sPWD)
       END

       _bVal=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_sCMD,exeActive,exeWait)

    RENVOYER _bVal
    3- Procédure de restauration
    Code (Windev):
    PROCEDURE My_RestaurBD_7z(_sRep_Extract est une chaîne=_sChemBD,_sRep_Archives est une chaîne="",_sArchiveName est une chaîne="",_sPword est une chaîne="",_sCompType="",_sCompMode="")
    //     Adaptaion des commandes par SuenoDesign - http://fekwx.com/

    // _sRep_Extract : Chemin du répertoire d'extraction des fichiers compressés

       _bVal est un booléen=Faux
       _s7zG est une chaîne=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    +["\"]+"7zG.EXE"  // Fichier necessaire pour la sauvegarde et la restauration
       _s7zdll est une chaîne =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    +["\"]+"7z.dll" // Bibliothèque necessaire pour la sauvegarde et la restauration
       _sCMD est une chaîne =""

       SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_s7zG)=Faux OU

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_s7zdll)=Faux ALORS
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Le fichier "+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_s7zG,fFichier+fExtension) +"/ "+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_s7zdll,fExtension+fFichier)+" n'existe pas sur le disque","Opération annulée.")
           RENVOYER _bVal
       FIN

       SI PAS

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_sRep_Extract) = Vrai ALORS
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Attention")
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Le répertoire d'extraction des fichiers  [" + _sRep_Extract + "] n'existe pas sur le disque","Opération annulée.")
           RENVOYER Faux
       FIN

       SI PAS

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_sRep_Archives) = Vrai ALORS
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Attention")
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Le répertoire des archives  [" + _sRep_Archives + "] n'existe pas sur le disque","Opération annulée.")
           RENVOYER Faux
       FIN

       // Fermeture de tous les fichiers de la base pour éviter toute corruption
       SI PAS

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("*") ALORS
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Attention")
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Problème lors de la fermeture des fichiers","Opération annulée.")
           RENVOYER Faux
       FIN
     
       SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_sRep_Archives+["\"]+_sArchiveName)=Faux ALORS
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Le fichier archive "+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_sRep_Archives+["\"]+_sArchiveName,fFichier+fExtension)+" n'existe pas sur le disque","Opération annulée.")
           RENVOYER _bVal
       FIN

       _sCMD = "7zG e "

       _sCMD +=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (34)+_sRep_Archives+["\"]+_sArchiveName+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (34)+" "

       // CompMode
       SELON _sCompMode
           CAS 1: _sCMD += "-mx0"
           CAS 2: _sCMD += "-mx1"
           CAS 3: _sCMD += "-mx3"
           CAS 4: _sCMD += "-mx5"
           CAS 5: _sCMD += "-mx7"
           CAS 6: _sCMD += "-mx9"
       
           AUTRES CAS
               _sCMD += "-mx9 "
       FIN

       _sCMD += " -o"+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (34)+_sRep_Extract+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (34)+" * -aoa "

       // Mot de passe du fichier archive s'il est renseigné
       IF

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_sPWD) <> "" THEN
           _sCMD += " -p"+

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (_sPWD)
       END

       _bVal=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (MyCommandString,exeActive,exeWait)

    RENVOYER _bVal
    Note : Les fichiers fournis fonctionne sous Win 10 - 64b

    Bon Dev à tous
     
    #1 suenodesign, Fev 9, 2018
    Dernière édition: Jan 11, 2019
    joker et zeuslefou aiment ça.
  2. zeuslefou

    zeuslefou Member

    Inscrit:
    Fev 8, 2018
    Messages:
    17
    J'aime reçus:
    36
    Super, je vais tester de suite pour faire la sauvegarde de la base de données. Merci !
     
    suenodesign apprécie ceci.
  3. suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    507
    J'aime reçus:
    732
    Fais attention

    Avant de sauvedarder ferme la connexion ou ferme les fichiers à sauvedarder
    et après la sauvegarde relance ta connexion.

    faute de quoi tes fichiers sauvegardés seront corrompus.
     
  4. aminej76

    aminej76 Active Member
    MEMBRE WX

    Inscrit:
    Jan 23, 2018
    Messages:
    283
    J'aime reçus:
    102
    Je pense qu'avec HFSQL /CS ce n'est pas obligatoire de fermer la connexion.
    Mais pour la restauration c'est oblogatoire
     
  5. haspking

    haspking New Member

    Inscrit:
    Fev 7, 2018
    Messages:
    4
    J'aime reçus:
    0
    Le lien des fichier est mort
    Merci de reup
     
  6. suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    507
    J'aime reçus:
    732
    Bonsoir @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,

    Les voici en pièces-jointes.

    N.B : Les fichiers fournis fonctionne sous Win 10 - 64b

    Bon Dev
     

    Fichiers attachés:

Partager cette page

Chargement...