IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

WinDev Discussion :

HFSQL C/S : Dupliquer automatiquement une base de données


Sujet :

WinDev

  1. #1
    Membre averti Avatar de LeonCosnyd
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 439
    Points : 368
    Points
    368
    Par défaut HFSQL C/S : Dupliquer automatiquement une base de données
    Bonjour,

    Est-il possible d'automatiser la duplication (ou la mise à jour) d'une base de données dans le centre de contrôle HFSQL ? Je n'ai rien vu...

    Pour les plus curieux voici la situation :
    1) J'ai une base de données, nommée Base_Tests_Clean par exemple.
    2) J'ai une autre base de données, nommée Base_Tests par exemple.
    3) Tous les jours j'ai besoin que la Base_Tests soit réinitialisée pour reprendre les données de Base_Tests_Clean (soit mise à jour des données, soit suppression de la base + duplication Base_Tests_Clean en Base_Tests).

    Avez-vous des idées pour automatiser cela ? Je préfère demandé avant de programmer mon propre truc... On ne sait jamais !
    Google est ton ami !

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 914
    Points : 1 496
    Points
    1 496
    Par défaut
    Bonjour
    Voir l'exemple :
    WD Duplication

  3. #3
    Membre averti Avatar de LeonCosnyd
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 439
    Points : 368
    Points
    368
    Par défaut
    La base "Base_Tests_Clean" est déjà le résultat d'une réplication avec un serveur distant... Est-il possible de réaliser une réplication d'une base de données à une autre sur le même serveur HFSQL ? J'en voyais surtout l'intérêt pour synchroniser deux bases stockées sur 2 machines différentes.

    Edit : Je viens de tester la réplication. Il est impossible de faire une réplication sur le même serveur HFSQL (même identifiant unique).....
    Google est ton ami !

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Laos

    Informations forums :
    Inscription : Mars 2003
    Messages : 552
    Points : 1 193
    Points
    1 193
    Par défaut
    Bonjour,

    Je verrais plutôt une procédure stockée (suppression + copie BDD) exécuté dans une tache planifiée du CCHF.

    Cordialement.

  5. #5
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 961
    Points
    961
    Par défaut
    Bonjour,
    Drôle de coïncidence! j'étais justement il y a quelques jours confronté au même problème que vous, et j'allais justement poster ici.

    La solution que j'utilise depuis hiers, et qui a l'air de bien marcher consiste tout simplement à faire la copie des fichiers de l'analyse à l'aide de la fonction HCopieFichier.

    J'ai donc à mon niveau deux variables de type connexion :
    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
     
    ConnexDistante est une Connexion;
     
    ConnexDistante..BaseDeDonnées="XXX";
    ConnexDistante..MotDePasse="XXXXX"
    ConnexDistante..Provider=hAccèsHFClientServeur;
    ConnexDistante..Serveur="185.X.X.X";
    ConnexDistante..Utilisateur="XXXX"
     
    ConnexionLocale est une connexion;
     
    ConnexionLocale..BaseDeDonnées="XXX";
    ConnexionLocale..MotDePasse="XXX";
    ConnexionLocale..Provider=hAccèsHFClientServeur;
    ConnexionLocale..Serveur="XXX";
    ConnexionLocale..Utilisateur="XXX";
    Chacune des ces deux connexions renseigne les paramètres de connexion aux deux serveurs HFSQL C/S respectifs.

    En fin de journée je lance la sauvegarde du Serveur1 (Variable ConnexionLocale) vers le serveur2 (Variable ConnexDistante) via la fonction HCopieFichier.
    Il suffit juste de préciser à la fonction les noms des fichiers (source et destination) et les connexions (source et destination) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HCopieFichier("ConnexDistante","Depenses.fic","ConnexionLocale","Depenses.fic",hCréeIndex,jaug)
    Dans mon cas, je n'avais besoin de transferer que certains fichiers de l'analyse, ceci dit il est tout à fait possible d'integrer la copie dans une boucle qui parcours chaque fichier de l'analyse (voir HListeFichier)

    Il faut bien entendu, s'assurer que les fichiers de destinations ne sont pas ouvert, pour cela je me suis pas trop cassé la tête, je ferme tout simplement toutes les connexion au serveurs distant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HDéconnecteClient("ConnexDistante","deconnexion",10);
    Dans mon cas, la fermeture des connexions ne pose pas de problème, car à l'heure où la sauvegarde est faite aucune connexion au serveur n'est en cours. Il s'agit plus d'une précaution.

    Tout ce traitement est intégré à une procédure périodique, lancée une certaine heure de la journée et qui éteint le pc en fin de traitement.

    Pour le moment, tout a l'air de bien fonctionner. Mais si quelqu'un pense qu'il s'agisse d'une mauvaise démarche, j'aimerai bien en discuter...

    Bien à vous.

    Edit : Je précise qu'il s'agit d'une seule et unique analyse qui est manipulée
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

Discussions similaires

  1. Alimenter automatiquement une base de données
    Par achraf.b.a dans le forum Langage SQL
    Réponses: 6
    Dernier message: 12/06/2012, 12h25
  2. Modeliser (automatiquement) une base de donnée
    Par sat83 dans le forum Débuter
    Réponses: 7
    Dernier message: 28/09/2009, 15h04
  3. actualisation d'une base de données automatiquement
    Par klimero dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 19/01/2006, 18h07
  4. Dupliquer une base de données
    Par dcollart dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 30/08/2005, 08h27
  5. Comment détecté automatiquement Une base erronée.
    Par ada_b dans le forum Débuter
    Réponses: 4
    Dernier message: 13/01/2005, 07h56

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