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 :

Synchronisation SDD Par Programmation - Vues Matérialisées


Sujet :

WinDev

  1. #1
    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 Synchronisation SDD Par Programmation - Vues Matérialisées
    Bonjour,
    Pour des raisons d'automatisme, j'effectue toujours la synchronisation de la structrure de la base par programmation (HmodifieStructure) dans une procédure globale appelé à l'initialisation du projet (Procédure que l'on va appeler "MiseAJourMonAnalyse")

    Ceci dit, j'ai remarqué que HmodifieStructure ne tient compte que de la structure des fichiers et non les autre éléments de l'analyse (Trigger,Procédure Stockée, Vues...etc).

    Pour ce qui est des procédures stockée, j'appelle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HMiseAJourCollection(MaConnexion,"*")
    Mais pour les vue matérialisées, je dois les indiquer une à une à partir de la fonction HMiseAJourVue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    HMiseAJourVue(MaConnexion,Vue1)
    HMiseAJourVue(MaConnexion,Vue2)
    De ce fait, je dois faire gaffe, à chaque ajout d'une nouvelle vue à l'analyse, je dois ajouter sa ligne HmiseAjourVue... dans le code de la procédure, cette justement opération manuelle qui me gène
    Malheuresement l'opération "*" n'est pas disponible dans HMiseAJourVue, on doit forcément indiquer le nom d'une seule vue en paramètre (pas "*" pour dire tout)
    N'y aurai-t-il pas un moyen de récuperer la liste de toutes les vue de l'analyse et ainsi boucler dans HmiseAjourVue ?

    Merci par avance.

    Réda
    « 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!!»

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 811
    Points : 5 270
    Points
    5 270
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    HListeFichier a une option pour les vues
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    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
    Citation Envoyé par Voroltinquo Voir le message
    Bonjour,
    HListeFichier a une option pour les vues
    Merci Voroltinquo, cela semble répondre exactement à ma question.
    L'option en question est : hLstVue

    Le problème c'est que cette option n'est disponible que si l'on passe le nom de la connexion en parametre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    L est une chaîne = HListeFichier(MaConnexion,"",hLstVueMatérialisée)
    et donc la fonction va me renvoyer les vues matérialisées de la connexion "MaConnexion" et non celles définies dans l'analyse. et ça ne m'avance pas, car le but, est justement d'ajouter à la connexion les vues qui ne sont pas présente...

    Malheuresement on ne peut fournir cette option indépendamment de la connexion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    L est une chaîne = HListeFichier(hLstVueMatérialisée) // ça renvoie la liste des fichier sans les vues materialisées
    « 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!!»

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    en faisant juste HListeFichier("",mdp,hLtsTout) ça ne fonctionne pas ?
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  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
    Citation Envoyé par philouZ Voir le message
    en faisant juste HListeFichier("",mdp,hLtsTout) ça ne fonctionne pas ?
    Non ça ne renvoi pas les vues matérialisées

    Apparemment pour avoir les vues, il faut utiliser la syntaxe faisant passer la connexion en paramètre
    « 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!!»

  6. #6
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 174
    Points : 287
    Points
    287
    Par défaut
    Bonjour;

    <Nom Connexion> : Chaîne de caractères (avec ou sans guillemets)

    et si on met le <Nom Connexion> dans une variable globale ??

    Bon Dev

  7. #7
    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
    Citation Envoyé par fouedusa Voir le message
    Bonjour;

    <Nom Connexion> : Chaîne de caractères (avec ou sans guillemets)

    et si on met le <Nom Connexion> dans une variable globale ??

    Bon Dev
    En passant par une connexion, HlisteFichier renvoie les vues disponibles dans cette dite connexion.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HListeFichier(MaConnexion,"",hLstVueMatérialisée)
    Dans mon cas, je voudrai récupérer la liste des vues matérialisées du projet (analyse) afin de les synchroniser dans la base à travers une boucle et non en fournissant les noms des vue une à une :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //Queleque chose dans ce genre
    POUR TOUTE CHAÎNE v DE L
     HMiseAJourVue(MaConnexion,v)	
    FIN
    « 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!!»

  8. #8
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Bon ben c'est juste un manque grossier mais tellement fréquent. Ca fera partie des nouveautés de la 26
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  9. #9
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    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 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Citation Envoyé par philouZ Voir le message
    Ca fera partie des nouveautés de la 26
    Ou 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

  10. #10
    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,
    Forte heuresement que c'est plus génant que pénalisant.

    Dans mon cas, j'ai miais la liste des vue du projet dans une variable globale du projet : (en dur )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ListeVues est une chaine =
    [
    Vue1
    Vue2
    ...
    ]
    Ensuite dans mon procédure de connexion, je mets à jour la connexion en cours par chacune des vues déclarée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //Queleque chose dans ce genre
    POUR TOUTE CHAÎNE V DE ListeVues SEPAREE PAR RC
     HMiseAJourVue(MaConnexion,V)	
    FIN
    La seule contrainte est de veiller à mettre à jour la variable ListeVues à chaque nouvelle vue du projet ... mais sinon ça va
    « 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!!»

  11. #11
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    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 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Bonjour,

    c'st ce que j'allais te dire : ta méthode est celle que j'aurais employée.
    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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/01/2017, 17h06
  2. Suppression des vues privées par programmation
    Par byerro dans le forum Lotus Notes
    Réponses: 5
    Dernier message: 29/08/2016, 08h44
  3. La programmation vue par les débutants
    Par Mingolito dans le forum Humour Informatique
    Réponses: 3
    Dernier message: 18/03/2016, 19h02
  4. Synchronisation d'une vue matérialisée
    Par complicated dans le forum PL/SQL
    Réponses: 2
    Dernier message: 24/03/2014, 14h54
  5. Comment créer un nouveau dossier par programmation ?
    Par annecyrond dans le forum Langage
    Réponses: 3
    Dernier message: 27/03/2003, 07h59

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