|
réplication base HF |
|
Utilisateur WDF
Inscrit: 29/04/2007 23:36
Post(s): 79
|
bonjour , j essai de faire une replication de données entre deux postes utilisant la meme application (base de données HF classique) pour cela j ai lancé WDREPLIC j ai essayé de repondre aux differentes questions j ai choisi comme support de replication la clé usb , à la fin il m a généré deux fichiers compressé l un destiné au replica maitre et l autre à l abonné , j ai decompressé chacun dans le repertoire qui convient , mais je ne sais plus ce qu il faut faire ensuite ? comment executer la replication , l utilitaire " je souhaite executer une replication " me demande de localiser un fichier *.srp que je ne trouve nul part ! aidez moi svp
Contribution le : 12/12/2008 17:28
|
|
|
Re: réplication base HF |
|
Utilisateur WDF
Inscrit: 29/04/2007 23:36
Post(s): 79
|
bonsoir j ai essayé de refaire la replication en utilisant WDREPLIC j ai procédé ainsi: 1- j ai choisi repliaction monodirectionnel abonne vers maitre 2- replica transportable clé usb 3-choisi l analyse ... apres l execution de la replication sur le poste abonne j ai obtenu dans ma clé un fichier compressé Ra_RM_replicaAbonne_1.wdz j ai decompressé le contenu et j ai verifié qu il contient belle et bien les données , mais comment faire pour fusionner ces données avec celle du poste maitre ?????aidez moi svp
Contribution le : 13/12/2008 21:10
|
|
|
Re: réplication base HF |
|
Utilisateur WDF
Inscrit: 29/04/2007 23:36
Post(s): 79
|
bonsoir svp je suis tj coincé avec mon fichier transportable sur cle usb , comment faire la synchronisation avec les fichiers du poste maitre ? j ai utilisé , pour mettre en place cette replication , wdrepli , j ai suisvi les differentes etapes ,mais j arrive pas à continuer j ai cherche sur internet un exemple concret de wdreplic en vain , je ne suis pas abonné aux lst et je suis hypercoincé j ai besoin de cette replication puisque mes données sont eparpillées sur 3 postes isolées aidez moi svp
Contribution le : 16/12/2008 19:03
|
|
|
Re: réplication base HF |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
Bonjour,
N'ayant pas utilisé cette appli je ne peux malheureusement pas vous aider. Néanmoins il est possible de la contourner si cette réplication n'est à appliquer qu'une seule fois... Un truc pas très propre mais étant que cela fait quelques temps que vous en êtes au même point, pourquoi ne pas créer un fichier txt sur chaque site contenant les données que vous souhaitez récupérer puis les intégrer sur le serveur ?
Cordialement
Contribution le : 17/12/2008 14:53
|
|
|
Re: réplication base HF |
|
Utilisateur WDF
Inscrit: 29/04/2007 23:36
Post(s): 79
|
merci Gozeub pour cette proposition , je crois que je vais l essayer car j ai trouvé aucune aide sur wdreplic pendant 15 j , svp est ce que vous pouvez donner plus de détail sur cette methode qui utilise un fichier texte ? merci dans tout les cas car je suis tout simplement au point mort.
Contribution le : 17/12/2008 20:47
|
|
|
Re: réplication base HF |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
Une méthode pour sauvegarder un fichier complet (sans filtre) :
PROCEDURE Recup_Fichier(NomFichier)
// Déclaration et initialisation des variables
NomCheminFichier est une chaîne = NomFichier+".txt"
IdFichier est un entier
ResEcrit est un booléen = Vrai
ResFermeFichier,nNbEnr est un entier
sLesRubs,sMaRub,sMaLig sont des chaînes
sLesRubs=HListeRubrique(NomFichier)
// Ouverture du fichier
fRepCrée(ComplèteRep(ComplèteRep(fRepExe())+"Sauvegarde "+DateSys()))
IdFichier = fOuvre(ComplèteRep(ComplèteRep(fRepExe())+"Sauvegarde "+DateSys())+NomCheminFichier, foCréation+foEcriture)
// Affichage du message d'erreur si l'ouverture n'a pas été effectuée
SI IdFichier = -1 ALORS
Erreur(ErreurInfo(errMessage))
RETOUR
FIN
// Lecture du premier enregistrement
HLitPremier(NomFichier)
// Autres enregistrements à lire ? Erreur d'écriture ?
TANTQUE HEnDehors = Faux ET ResEcrit = Vrai
nNbEnr++
LIB_Detail=nNbEnr+" enregistrements traités"
// Écriture des enregistrements ligne par ligne dans le fichier texte
sMaLig=""
sMaRub = ExtraitChaîne(sLesRubs, rangPremier, RC)
TANTQUE sMaRub <> EOT
SI sMaLig<>"" ALORS sMaLig+=TAB
sMaLig+={NomFichier+"."+sMaRub,indRubrique}
sMaRub = ExtraitChaîne(sLesRubs, rangSuivant, RC)
FIN
ResEcrit = fEcritLigne(IdFichier, sMaLig)
// Lecture des enregistrements suivants
HLitSuivant(NomFichier)
FIN
// Affichage du message d'erreur si l'écriture n'a pas été effectuée
SI PAS ResEcrit ALORS Erreur(ErreurInfo(errMessage))
// Fermeture du fichier
ResFermeFichier=fFerme(IdFichier)
SI ResFermeFichier = -1 ALORS
// Affichage du message d'erreur si la fermeture n'a pas été effectuée
Erreur(ErreurInfo(errMessage))
FIN
Une méthode pour intégrer un fichier txt dans une Bdd (des modifications sont à prévoir pour adaptation) :
PROCEDURE Restaure_Fichier(NomFichier,sMonRep)
// Déclaration et initialisation des variables
NomCheminFichier est une chaîne = NomFichier+".txt"
IdFichier est un entier
ResEcrit est un booléen = Vrai
ResFermeFichier,nNbEnr,nNumRub est un entier
sLesRubs,sMaRub,LigneLue,sValRub sont des chaînes
tabRub,tabValeur sont des tableaux de 0 chaînes
sLesRubs=HListeRubrique(NomFichier,hLstDétail )
dh est une chaîne=GetDateHeure(DateSys()+HeureSys())
sdReqDel est une Source de Données
SI PAS HExécuteRequêteSQL(sdReqDel,nom_connection,ModeDataUpdate,"DELETE FROM "+NomFichier) ALORS
Erreur(HErreurInfo())
RETOUR
FIN
HAnnuleDéclaration(sdReqDel)
// Ouverture du fichier
IdFichier = fOuvre(ComplèteRep(sMonRep)+NomCheminFichier, foLecture)
// Affichage du message d'erreur si l'ouverture n'a pas été effectuée
SI IdFichier = -1 ALORS
Erreur(ErreurInfo(errMessage))
RETOUR
FIN
LigneLue = fLitLigne(IdFichier)
// Autres lignes à lire ? Erreur de lecture ?
TANTQUE LigneLue <> EOT ET LigneLue <> ""
nNbEnr++
LIB_Detail=nNbEnr+" enregistrements traités"
// Lecture des rubriques une par une
nNumRub=0
tabRub=allouer tableau de 0 chaînes
tabValeur=allouer tableau de 0 chaînes
sMaRub = ExtraitChaîne(sLesRubs, rangPremier, RC)
TANTQUE sMaRub <> EOT
nNumRub++
sValRub=ExtraitChaîne(LigneLue,nNumRub)
SI sValRub<>"" ALORS
SI ExtraitChaîne(sMaRub,2)="T" ALORS
SI Position(ExtraitChaîne(sMaRub,1),"date",0,SansCasse)>0 OU Position(ExtraitChaîne(sMaRub,1),"duree",0,SansCasse)>0 OU Position(ExtraitChaîne(sMaRub,1),"heure",0,SansCasse)>0 ALORS
SI Majuscule(sValRub)="DATEMODIF" ALORS
sValRub=dh
SINON
SI Val(sValRub)=0 ALORS
sMaRub = ExtraitChaîne(sLesRubs, rangSuivant, RC)
CONTINUER
FIN
sValRub=GetDateHeure(sValRub)
FIN
SINON
sValRub="'"+sValRub+"'"
FIN
FIN
TableauAjoute(tabRub,ExtraitChaîne(sMaRub,1))
TableauAjoute(tabValeur,sValRub)
FIN
sMaRub = ExtraitChaîne(sLesRubs, rangSuivant, RC)
FIN
SI Dimension(tabRub)=Dimension(tabValeur) ALORS
Insert_Fichier(NomFichier,tabRub,tabValeur)
FIN
// Lecture des lignes suivantes du fichier
LigneLue = fLitLigne(IdFichier)
FIN
// Affichage du message d'erreur si l'écriture n'a pas été effectuée
SI PAS ResEcrit ALORS Erreur(ErreurInfo(errMessage))
// Fermeture du fichier
ResFermeFichier=fFerme(IdFichier)
SI ResFermeFichier = -1 ALORS
// Affichage du message d'erreur si la fermeture n'a pas été effectuée
Erreur(ErreurInfo(errMessage))
FIN
Une procédure appelé par la procédure de restauration :
PROCEDURE Insert_Fichier(NomFichier,tabRubriques,tabValeurs)
sdReqInsert est une Source de Données
SQLCh est une chaîne
nNbDim est un entier
nNumDim est un entier
SQLCh="INSERT INTO "+NomFichier+" ("
nNbDim=Dimension(tabRubriques)
SI PAS nNbDim>0 ALORS RETOUR
POUR nNumDim=1 A nNbDim
SQLCh+=tabRubriques[nNumDim]
SI nNumDim<nNbDim ALORS SQLCh+=","
FIN
SQLCh+=") VALUES ("
nNbDim=Dimension(tabValeurs)
SI PAS nNbDim>0 ALORS RETOUR
POUR nNumDim=1 A nNbDim
SQLCh+=tabValeurs[nNumDim]
SI nNumDim<nNbDim ALORS SQLCh+=","
FIN
SQLCh+=")"
SI PAS HExécuteRequêteSQL(sdReqInsert,nom_connection,ModeDataUpdate,SQLCh) ALORS
Erreur(HErreurInfo())
RETOUR
FIN
HAnnuleDéclaration(sdReqInsert)
Je peux pas faire plus désolé et bon courage
Contribution le : 18/12/2008 10:20
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|