Bonjour,
Je cherche à lister les collections de procédures stockées de mon analyse.
Quelqu'un saurait-il le faire (par code) svp ?
Merci
Bonjour,
Je cherche à lister les collections de procédures stockées de mon analyse.
Quelqu'un saurait-il le faire (par code) svp ?
Merci
Salut à toi,
HListeElémentStocké(..) peut-être ?
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 ?
alors si c'est de la mise à jour : HMiseAJourCollection(..) ?
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:
Dans ce code, je liste mes collections de procédures présentes sur le serveur, et j'en fais la mise à jour.
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
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.
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 :
sans tester la présence ou non des collections déjà existantes.
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
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
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.
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 :
Et bien voila, j'avais seulement besoin de mettre "*", problème résolu.Envoyé par de l'aide windev
Et merci encore Lo², pour le support.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager