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

HyperFileSQL Discussion :

[WD11] Mise à jour HF/CS et suppression de données


Sujet :

HyperFileSQL

  1. #1
    Membre régulier Avatar de windmastr26
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 234
    Points : 108
    Points
    108
    Par défaut [WD11] Mise à jour HF/CS et suppression de données
    Bonjour à tous,

    J'ai migré une application WD de HF classique à HF/CS. J'ai énormément bataillé car, je ne sais pour quelle raison, lors de l'import de mes données vers HF/CS, Windev m'a vidé plusieurs champs dans mes fichiers de données...

    J'ai contourné le problème en réimportant mes fichiers HF classique dans mon HF/CS.

    Là, j'ai ajouté un champ dans mon analyse. Opération anodine en apparence : et bien non ! Au moment de mettre à jour mes fichiers de données, WD me vide à nouveau mes champs : je me retrouve donc avec, par exemple, un fichier de prospect où il ne reste que les champs de type numérique ! Tous les champs de type texte sont vides !

    Est-ce que quelqu'un a une idée d'où pourrait venir ce problème ? J'ai sûrement mal fait quelque chose au moment de la migration ? Si je suis obligé de galérer à chaque modification de mon analyse, bonjour l'angoisse !

    Merci pour toute aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 276
    Points : 739
    Points
    739
    Par défaut
    Bonjour,

    Comment faites-vous la "migration" ?

  3. #3
    Membre régulier Avatar de windmastr26
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 234
    Points : 108
    Points
    108
    Par défaut
    J'effectue la "migration" à partir du serveur HF/CS.

    Dans l'onglet "bases de données" il y a une option "copier une base de données HF classique". Je n'ai plus qu'à aller chercher le dossier où sont stockés mes fichiers et à les importer.

  4. #4
    Membre régulier Avatar de windmastr26
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 234
    Points : 108
    Points
    108
    Par défaut
    Je viens de remarquer quelque chose qui ne m'aide pas vraiment mais pourrait peut être aider quelqu'un passant par là.

    Je fais la mise à jour de mes fichiers hyperfile = les champs de type texte sont alors vidés
    Si je laisse les fichiers en l'état, et que j'entre des données dans les champs textes, lors de la prochaine mise à jour de mes fichiers HF, ces champs ne seront pas vidés.

    J'ai donc l'impression que les fichiers HF ont été mal convertis à la base... Du coup le processus de maj remet les fichiers au bon format mais au détriment de l'intégrité des données qu'ils contiennent...

    Je crois qu'il va falloir me recréer mes fichiers en faisant un export/import style csv. Chose qui risque d'être assez laborieuse...

  5. #5
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 162
    Points : 9 112
    Points
    9 112
    Par défaut
    Ou de passer par des alias ?

    En créant un alias qui va pointer sur tes anciens fichiers, essaye de faire des HcopieEnreg().
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  6. #6
    Membre régulier Avatar de windmastr26
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 234
    Points : 108
    Points
    108
    Par défaut
    Merci frenchsting, c'est une excellente idée que je vais exploiter sans tarder

  7. #7
    Membre régulier Avatar de windmastr26
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 234
    Points : 108
    Points
    108
    Par défaut
    Ça y est je viens de terminer mon script de recopie et tout a fonctionné comme prévu.

    J'ai recréé mes fichiers hf/cs dans une nouvelle base puis j'ai copié ligne à ligne les champs dans ces fichiers.

    Je ne sais pas si mon code sera utile, d'autant qu'il n'est pas très bien écrit, mais je le met tout de même :

    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
    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

  8. #8
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 162
    Points : 9 112
    Points
    9 112
    Par défaut
    Merci pour ton retour. Ton code sera utile, je n'en doute pas.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

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

Discussions similaires

  1. [WD11] Mise à jour HF dans thread
    Par ACOIdev dans le forum WinDev
    Réponses: 5
    Dernier message: 19/05/2009, 14h27
  2. [WD11] Mise à jour automatique ?
    Par dj_techno dans le forum WinDev
    Réponses: 6
    Dernier message: 25/03/2009, 17h56
  3. Réponses: 1
    Dernier message: 04/12/2008, 01h42
  4. Réponses: 7
    Dernier message: 16/01/2007, 16h54
  5. [Conception] mise à jour automatique d'une base de donné distante
    Par bipbip2006 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/06/2006, 17h45

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