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 :

Lister les procédures stockées d'une analyse [WD14]


Sujet :

WinDev

  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 103
    Points
    1 103
    Par défaut Lister les procédures stockées d'une analyse
    Bonjour,
    Je cherche à lister les collections de procédures stockées de mon analyse.
    Quelqu'un saurait-il le faire (par code) svp ?
    Merci

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 346
    Points : 3 867
    Points
    3 867
    Par défaut
    Salut à toi,

    HListeElémentStocké(..) peut-être ?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 103
    Points
    1 103
    Par défaut
    Salut,

    Heu non en fait, ça ne correspond pas.

    Je voudrais trouver un moyen de créer/mettre à jour automatiquement les procédures stockées de mon application, quand je la lance.

    Je change dynamiquement la connexion, par le code, et je lance la mise à jour des fichiers de données en pilotant le WDModFic, mais je n'ai pas encore trouvé le moyen de créer les collections de procédures stockées qui n'existaient pas déjà sur le serveur.

    Par contre, ta proposition de HListeElémentStocké() fonctionne parfaitement la seconde fois, quand la collection a déjà été créée.

    Voila, j'espère que ce que je veux faire est plus clair, et si oui vous avez peut-être d'autres pistes ?

  4. #4
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 346
    Points : 3 867
    Points
    3 867
    Par défaut
    alors si c'est de la mise à jour : HMiseAJourCollection(..) ?

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 103
    Points
    1 103
    Par défaut
    Merci Lo² de te pencher sur mon cas.

    Oui, c'est bien ce que j'utilise, mais je pense que je ne me suis pas bien fait comprendre.
    Je sais, dans l'état actuel, faire un code comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    POUR TOUTE CHAINE sProc de HListeElémentStocké("MaConnexion", hLstCollection) separée par RC
        SI PAS HMiseAJourCollection(cnxBDD, sProc, Vrai) ALORS
            RENVOYER "Erreur lors de la maj de la collection" + [RC] + HErreurInfo()
        FIN
    FIN
    Dans ce code, je liste mes collections de procédures présentes sur le serveur, et j'en fais la mise à jour.

    Mon problème ne se pose en fait qu'au premier lancement, ou à l'ajout d'une collection.
    La collection n'étant pas encore présente sur le serveur, la collection ne sera pas listée par HListeElémentStocké(), et on n'appellera donc pas HMiseAJourCollection() pour cette collection. ce qui fait qu'on ne la trouvera jamais sur le serveur.

    Je précise également que le but des de créer un connecteur universel, partagé entre différentes appli (par le GDS). J'aimerai donc autant que possible ne pas avoir la liste des collections en dur, dans le code ni dans un fichier.

  6. #6
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 346
    Points : 3 867
    Points
    3 867
    Par défaut
    Mais de rien, tout en étant pas sûr de pouvoir t'aider plus

    Pour info, je n'ai jamais utilisé ces fonctions.

    Par contre, ce que j'en comprend en parcourant l'aide, la collection se trouve déjà dans l'analyse et est donc "en dur" dans ton application, ce qui fait que j'utiliserai le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SI PAS HMiseAJourCollection(cnxBDD, <NomCollection>) ALORS
            RENVOYER "Erreur lors de la maj de la collection" + [RC] + HErreurInfo()
        FIN
    sans tester la présence ou non des collections déjà existantes.

  7. #7
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 103
    Points
    1 103
    Par défaut
    Oui, à partir du moment où je peux écrire le nom de ma procédure stockée dans le code, ta solution fonctionne.

    Mais mon code doit pouvoir fonctionner pour plusieurs applications différentes, sans modification.

    Nous avons plusieurs applications (ex. gestion commerciale, outil de calculs divers...).
    Ces applis n'ont pas toutes les mêmes collections de procédures stockées.
    Elles ne se connectent pas non plus sur les mêmes bases.
    Ces applications sont destinées à être livrées chez plusieurs clients. Ils doivent avoir une version à jour automatiquement, donc j'ai un code qui mets à jour les données sur la connexion en cours.

    Le programme peut changer de connexion. exemple, un client qui gère deux sociétés, l'appli se referme, puis se ré-ouvre sur l'autre société (autre base de données).
    Pour gérer ça, je change les propriétés de la connexion au lancement du programme. Je m'occupe également des modifications de fichier avec WDModfic.

    Ce code de mise à jour est totalement indépendant, et est donc copié, à l'identique, dans toutes les applications.
    Ça tourne pour les créations / mises à jour fichiers.
    Ça tourne aussi pour les Mies à jour de procédures stockées.

    Par contre, l'ajout des collections de procédures stockées, c'est le problème.


    Et là ça semble impossible, je crois que je vais devoir utiliser des chemins détournés pour gérer ça.

    Merci encore

  8. #8
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 346
    Points : 3 867
    Points
    3 867
    Par défaut
    En effet, l'ajout semble moins simple.

    En moyen détourné, mais je manque sûrement de recul par rapport à ton besoin, je proposerai l'utilisation d'un fichier ini contenant les noms des collections à ajouter.

    Edit :
    A voir également au niveau de l'aide sur les procédures stockées (HF CS), la rubrique Déployer une procédure - Déployer en réel, dans laquelle une méthode est proposée.

  9. #9
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 103
    Points
    1 103
    Par défaut ça m'apprendra à lire correctement !
    Heu, autant pour moi, j'ai fait une gaffe je crois !

    Je voulais lister les collections pour pouvoir les mettre à jour, par le code.
    Mais j'avais juste raté une chose :
    Citation Envoyé par de l'aide windev
    <Nom de la collection de procédures> : Chaîne de caractères (avec guillemets)

    Nom de la collection de procédures à créer ou à mettre à jour sur le serveur. Si ce paramètre correspond à "*", toutes les collections de procédures seront mises à jour ou créées sur le serveur.
    Et bien voila, j'avais seulement besoin de mettre "*", problème résolu.

    Et merci encore Lo², pour le support.

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

Discussions similaires

  1. [2012] Récupérer les procédures stockées d'une base endomagée
    Par stdebordeau dans le forum Administration
    Réponses: 20
    Dernier message: 01/06/2015, 17h41
  2. [2008R2] Procédure stockée avec une boucle sur les resultat
    Par sak_ura dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 26/02/2013, 09h23
  3. Réponses: 1
    Dernier message: 07/06/2010, 18h05
  4. lister les procédures stockées
    Par vince2005 dans le forum Administration
    Réponses: 7
    Dernier message: 31/12/2009, 00h14
  5. [D7] Afficher les valeurs d'une procédure stockée dans une table
    Par babacan dans le forum Bases de données
    Réponses: 1
    Dernier message: 22/06/2009, 08h10

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