[WD17] sauvegarde et restauration simple d'une base hyper file monoposte.

Le
André STASZEWSKI
Bonjour,

Existe-t-il une fonction qui permette de faire de la sauvegarde et de
la restauration hyper file à chaud sur une appli monoposte (donc en
local).

HSauvegarde, HRestaure, et HsauvegardeRestauration ne semblent pas
convenir (reservé aux serveurs)

Au mieux, qq aurait-il déjà développé un composant ou une procédure ou
une classe qui fait ça proprement et si possible sous un seul fichier
unique (style ZIP regroupant .FIC .NDX . MMO) mais qui soit aussi
capable de restaurer automatiquement ?

Je suis preneur de toutes suggestions !

--
Cordialement,
André STASZEWSKI
http://www.SoftSolution.fr
Pour me contacter, cliquez ici :
http://cerbermail.com/?Z8IP9sIahR
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
wd_newbie
Le #24931902
Salut,

personnellement j'ai résolu ce problème en créant une petite appli ex terne placée dans le même répertoire que l'application de base et qu i se lance en ligne de commande en lui passant en paramètre l'action (sau ver / restaurer) et le chemin de la sauvegarde ( a sauver / à restaurer)

Fonction sauver :
-----------------
parcours du répertoire des données et création d'un *.zip avec tous l es .fic, .mmo, .ini et tout ce qui peux être intéressante. je ne mets p as les .ndx car au moment de la restauration ces derniers sont automatiquem ent recréés.


Fonction restaurer :
--------------------
J'AVERTI QUE TOUTES LES DONNEES VONT ÊTRE REMPLACEES et si confirmation je lancer le soft de sauvegarde et quitte l'application principale pour que les fichiers ne soient plus considérés comme "ouverts" et je supprime tous les .fic, .ndx, .mmo , .ini ... etc. du répertoire des données. J' affiche une fenêtre pour choisir la sauvegarde a restaurer. Une fois le c hoix fait, je dézippe l'archive dans le répertoire des données et j ’affiche "Restauration terminée .. bla.. bla ... bla , relancez l'appli cation .." et au redémarrage WD ré-indexe les fichiers

L'avantage et qu'une fois cette application faite, il suffit de la mettre d ans le répertoire de la principale ( je l'ai inclue dans l'installeur) et d'ajouter deux menus : sauver et restaurer dans n'importe quelle applicati on avec simplement un

lanceAppli("sauvegarde.exe sauver " + sZipSauvegarde )
ou
lanceAppli("sauvegarde.exe restaurer " + sFichierArchive)

et c'est fonctionnel.Il ne faut juste pas oublier de la recompiler quand on passe d'une version de WD à une autre sinon les .dll ne seront plus adap tées sinon j'utilise ça depuis des années. En cas d'évolution de BD D, j'ai une fonction en ouverture du programme qui met à jour la structur e automatiquement (lors des MAJ, j'inclus toujours le .wdd pour que WDModFi ch puisse faire les modifications au cas ou on recharge une sauvegarde anci enne.)

Ce qui est sympa, c'est que lorsque les clients ont une question ou un souc is, ils m'envoient simplement le zip et je peux le recharger sur ma machine de dev.

Par contre le jour ou PC-Soft intégrera une fonction HSauvegarde et HRest aure pour les applis monoposte , je prends !!

J'espère avoir pu t'aider

Bonne journée


Olivier
Andr
Le #24949132
Salut,

personnellement j'ai résolu ce problème en créant une petite appli externe
placée dans le même répertoire que l'application de base et qui se lance en
ligne de commande en lui passant en paramètre l'action (sauver / restaurer)
et le chemin de la sauvegarde ( a sauver / à restaurer)

Fonction sauver :
-----------------
parcours du répertoire des données et création d'un *.zip avec tous les .fic,
.mmo, .ini et tout ce qui peux être intéressante. je ne mets pas les .ndx car
au moment de la restauration ces derniers sont automatiquement recréés.


Fonction restaurer :
--------------------
J'AVERTI QUE TOUTES LES DONNEES VONT ÊTRE REMPLACEES et si confirmation je
lancer le soft de sauvegarde et quitte l'application principale pour que les
fichiers ne soient plus considérés comme "ouverts" et je supprime tous les
.fic, .ndx, .mmo , .ini ... etc. du répertoire des données. J'affiche une
fenêtre pour choisir la sauvegarde a restaurer. Une fois le choix fait, je
dézippe l'archive dans le répertoire des données et j’affiche "Restauration
terminée .. bla.. bla ... bla , relancez l'application .." et au redémarrage
WD ré-indexe les fichiers

L'avantage et qu'une fois cette application faite, il suffit de la mettre
dans le répertoire de la principale ( je l'ai inclue dans l'installeur) et
d'ajouter deux menus : sauver et restaurer dans n'importe quelle application
avec simplement un

lanceAppli("sauvegarde.exe sauver " + sZipSauvegarde )
ou
lanceAppli("sauvegarde.exe restaurer " + sFichierArchive)

et c'est fonctionnel.Il ne faut juste pas oublier de la recompiler quand on
passe d'une version de WD à une autre sinon les .dll ne seront plus adaptées
sinon j'utilise ça depuis des années. En cas d'évolution de BDD, j'ai une
fonction en ouverture du programme qui met à jour la structure
automatiquement (lors des MAJ, j'inclus toujours le .wdd pour que WDModFich
puisse faire les modifications au cas ou on recharge une sauvegarde
ancienne.)

Ce qui est sympa, c'est que lorsque les clients ont une question ou un
soucis, ils m'envoient simplement le zip et je peux le recharger sur ma
machine de dev.

Par contre le jour ou PC-Soft intégrera une fonction HSauvegarde et HRestaure
pour les applis monoposte , je prends !!

J'espère avoir pu t'aider

Bonne journée


Olivier



Bonsoir.

Merci pour vos suggestions.
J'ai pu m'arranger avec une vielle classe que Christophe FELIX avait
créé en WD7 à l'époque.
J'ai voulu le contacter, mais son adresse mail cité dans la classe
n'est plus valide...
D'ailleurs si qq connait le connaît, il peut me contacter en privé
(voir ma signature).
Bon, en attendant de trouver mieux, et après l'avoir bricolée un peu,
ça fonctionne comme ça.

@+

--
Cordialement,
André STASZEWSKI
http://www.SoftSolution.fr
Pour me contacter, cliquez ici :
http://cerbermail.com/?Z8IP9sIahR
Publicité
Poster une réponse
Anonyme