1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| sFicName est une chaîne
sListRub est une chaîne
sListRubS est une chaîne
sRubrique est une chaîne
sListFic est une chaîne
sFichier est une chaîne
SI HDécritConnexion("source","login","pass","nomServeur:4900","BD_source",hAccèsHFClientServeur,hOLecture) ALORS
SI HOuvreConnexion("source") ALORS
//Ouverture de la base de données source
//On liste les fichiers de la base de données source
sListFic = HListeFichier("source");
SI HDécritConnexion("destination","login","pass","nomServeur:4900","BD_destination",hAccèsHFClientServeur,hOLectureEcriture) ALORS
SI HChangeConnexion("*","destination") ALORS
//Modification de la connexion de l'analyse en cours vers la base de destination
HCréationSiInexistant("*") //Création des fichiers de données
HGèreIntégrité("*", "*", hCardinalité+hEnModification, Faux) //Désactivation des règles d'intégrité
HGèreDoublon(monFichier, monChamp, Faux) //Désactivation de la gestion des doublons si besoin
POUR TOUTE CHAINE sFichier DE sListFic SEPAREE PAR RC
sFicName = Remplace(sFichier,".FIC","",SansCasse)
SI HDéclareExterne(sFichier,"dest","source") ALORS
sListRub = HListeRubrique(sFicName)
sListRubS = HListeRubrique({"dest",indFichier})
POUR CHAQUE {"dest",indFichier}
//Enumération des colonnes du fichier de destination
HRAZ(sFicName)
POUR TOUTE CHAINE sRubrique DE sListRub SEPAREE PAR RC
SI Position(sListRubS, sRubrique)>0 ALORS
//Si le champ existe dans la base de données de destination
{sFicName + "." + sRubrique,indRubrique} = {"dest." + sRubrique,indRubrique}
FIN
FIN
HAjoute(sFicName,hForceIdAuto) //ForceID pour obliger HF à utiliser l'ID inséré, et non générer lui-même son propre ID
FIN
HAnnuleDéclaration("dest")
FIN
FIN
//Réactivation des différentes règles
HGèreDoublon(monFichier, monChamp, Vrai)
HGèreIntégrité("*", "*", hCardinalité+hEnModification, Vrai)
HFermeConnexion("source")
SINON
Erreur("Impossible d'ouvrir la connexion source")
FIN
SINON
Erreur("Impossible d'établir la connexion de destination")
FIN
SINON
Erreur("Impossible d'ouvrir la connexion source")
FIN
SINON
Erreur("Impossible d'établir la connexion source")
FIN |
Partager