Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre averti Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    mars 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2007
    Messages : 438
    Points : 332
    Points
    332

    Par défaut Gestion des sauvegardes / restaurations sous HFSQL CS

    Bonjour,

    je suis en train de migrer une application qui a déjà > 10 ans qui fonctionne en mode HFSQ Classique vers une version HFSQL CS.

    Je n'ai pas eu de soucis pour toute la partie connexion / modification de structure / etc...

    Par contre il y a une chose ou jeme perds un peu : dans la version actuelle ( en Classique donc ) j'ai deux fonctions :

    - Sauvegarde : cette fonction me crée un zip avec tous les fichiers *.fic / *.mmo / *.ini / ... de mon application
    - Restauration : cette fonction me permet de sélectionner un fichier de sauvegarde et remplace les fichiers en cours dans le répertoire des données par celles du fichier zip de sauvegarde.

    Bien entendu si il y a un soucis de structure, je lance un HModifiestructure() et c'est OK.

    Je trouve le principe extrêmement pratique, lors des échanges avec mes clients, je leur demande parfois de faire une sauvegarde et de me l'envoyer. Je peux ainsi sur mon poste utiliser la fonction "Restauration" et je me retrouve avec la même version que mon client.

    De leur côté, pour les clients, le fait que cette sauvegarde crée un seul fichier leur simplifie la vie.

    mais en CS ??? Je fouille dans la doc et je trouve pas mal de documentation sous "HSauvegarde " ou "HRestaureSauvegarde", mais si je comprends bien, on reste sur le serveur ?

    Est-ce qu'il y aurait un moyen de créer un genre de sauvegarde qui récupèrerait les fichiers de données depuis le serveur vers le poste client et dans l'inverse une fonction qui permettrait d'envoyer ces mêmes fichiers depuis le poste client vers le serveur pour mettre a jour les données.

    Et ceci en passant par des fonctions de l'application ?


    J'ai essayé pas mal de truc

    Pour les sauvegarde, avec HSauvegarde , j'arrive bien a faire des backup sur le serveur, mais ces dernier ont simplement un ID pour les répertoires : 14 /15 / 16 / ... , on ne peut les nommer par date - heure , par exemple : 20180831-152000 ?

    Si j'essaie de faire une retauration via "HRestaureSauvegarde" , je tombe sur une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ---------------------------
    Fenetre de test
    ---------------------------
    Echec de la restauration de la sauvegardeErreur renvoyée par le serveur <serveurseven> :
    Vous ne pouvez pas procéder à la restauration de la base de données <BDD_Test> car la connexion <MaConnexion> ouverte depuis la machine <PCDev.lan> pour l'utilisateur <admin> utilise cette base de données.
    Pour récupérer les fichiers en local, je teste "HRécupèreSauvegarde" (sachant que le dossier "C:\Tmp" existe sur le poste client)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ---------------------------
    Fenetre de test
    ---------------------------
    Erreur à la ligne 16 du traitement Clic sur BTN_Recupérer_sauvgearde_HFSQL.
    Vous avez appelé la fonction HRécupèreSauvegarde.
    Impossible de créer le fichier <C:\tmp>.
     
    Détail de l'erreur système :
     
    Accès refusé.
    Vous aurez compris que je galère un peu

    Avez-vous quelques pistes ?

    Merci d'avance

    Olivier

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    avril 2010
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2010
    Messages : 610
    Points : 957
    Points
    957

    Par défaut

    Bonsoir
    Voici ce que je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
        // Récupérer les fichiers décrits dans l'analyse en cours    // et dynamiquement
        sListeFichier est une chaîne
        sListeFichier = HListeFichier(PGComunes.gcnxConexionHFCS, hLstTriée)
        TitreSuivant("Ficheros de la aplicación para copiar")
        //Info(ListeFichier)
        HFerme("*")
        OuvreFille(FEN_Jauge_REINDEX)
        POUR TOUTE CHAINE Fichier DE sListeFichier SEPAREE PAR RC
            FEN_Jauge_REINDEX..Titre="Copiar Fichero "+Fichier+" de "+PGComunes.gsServidorHFCS+" a "+ComplèteRep(fRepEnCours())+Fichier
            // Copie fichiers du poste serveur vers le poste client
            SELON Fichier
                CAS "HNUM.FIC", "HCOD.FIC", "WDNUM.FIC", "PUESTOS.FIC"
                    // NO COPIAR (FICHIERS QUE JE NE VEUX PAS COPIER)
                AUTRE CAS
                    SI PAS HCopieFichier("", ComplèteRep(fRepEnCours())+Fichier, PGComunes.gcnxConexionHFCS, Fichier, hCréeIndex,FEN_Jauge_REINDEX.JAUGE_Jauge,"") ALORS
                        Erreur(ErreurInfo())
                    FIN
            FIN
        FIN
        TitreSuivant("Ficheros de la aplicación copiados")
        DélaiAvantFermeture(300)
        Info("Ficheros copiados desde "+PGComunes.gsServidorHFCS)//+SC_SelecteurDirTemp.SAI_DIRTEMP+"\TEMP","","a "+COMBO_BaseDatosHFCS1+" en "+combo_ServidorHFCS1)
        Ferme(FEN_Jauge_REINDEX)

  3. #3
    Membre averti Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    mars 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2007
    Messages : 438
    Points : 332
    Points
    332

    Par défaut

    Hello,

    merci pour la réponse, mais si j'ai bien compris , la solution que tu utilises est pour une base locale ?

    Mon idée est de remplacer les fichiers d'un serveur HFSQL CS par ceux contenus dans une archive sur un poste client

    Olivier

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    avril 2010
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2010
    Messages : 610
    Points : 957
    Points
    957

    Par défaut

    Non. C'est bien en client/serveur

  5. #5
    Membre averti Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    mars 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2007
    Messages : 438
    Points : 332
    Points
    332

    Par défaut

    Effectivement , j'avais mal lu fCopie ou lieur de Hcopie

    J'ai ainsi pu récupérer les fichiers en local, c'est nickel, je dois pouvoir ainsi créer mon zip

    C'est pas mal, et pour restaurer vers le serveur CS , tu utilises HRestaureSauvegarde ?

    Olivier

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    avril 2010
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2010
    Messages : 610
    Points : 957
    Points
    957

    Par défaut

    Citation Envoyé par wd_newbie Voir le message
    C'est pas mal, et pour restaurer vers le serveur CS , tu utilises HRestaureSauvegarde ?
    Bonjour
    Suite à ta question, j'ai fais des essais :
    HCopieFichier permet de copier les fichiers *.fic dans toutes les directions et d'un serveur à autre.

  7. #7
    Membre averti Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    mars 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2007
    Messages : 438
    Points : 332
    Points
    332

    Par défaut

    Effectivement, et c'est finalement ce que j'ai utilisé , le HCopieFichier()

    Couplé à l'utilisation de WDModFich en ligne de commande ça fonctionne nickel pour restaurer une base depuis un fichier zip

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD10] Faire des sauvegardes projet sous GDS
    Par slimsamfr2 dans le forum WinDev
    Réponses: 2
    Dernier message: 05/04/2007, 15h04
  2. Gestion des evenements RTC sous VC++ 6
    Par cyreel dans le forum Visual C++
    Réponses: 1
    Dernier message: 31/01/2007, 11h33
  3. Réponses: 1
    Dernier message: 17/10/2006, 05h39
  4. Réponses: 4
    Dernier message: 18/03/2006, 21h34
  5. Gestion des packages RPM sous Mandrake
    Par Noki dans le forum Mandriva / Mageia
    Réponses: 10
    Dernier message: 29/03/2004, 20h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo