Poster une réponse à un sujet: Dévellopement rapport SSRS et stored proc
Attention, ce sujet est un sujet ancien (4024 jours sans réponse)
Schnick
Merci de cet information, je vais essayer.
Davidesan
Peux-tu utiliser un webservice ?
Si oui au lieu d'utiliser un datasource vers ta DB tu peux utiliser un datasource vers un Webservice XML.
Ca te permet de faire ce qu'il faut (regrouper tes datasets ou que sais-je) dans la méthode du webservice et retourner que ce que ton rapport à besoin.
Bonne chance
Si oui au lieu d'utiliser un datasource vers ta DB tu peux utiliser un datasource vers un Webservice XML.
Ca te permet de faire ce qu'il faut (regrouper tes datasets ou que sais-je) dans la méthode du webservice et retourner que ce que ton rapport à besoin.
Bonne chance
zion
Si tu sais faire ton query, tu sais récupérer les données dans ton code. Non?
Si tu sais tout choper dans ton code, tu sais faire un bel array, et y rajouter par la suite tes infos.
C'est bourrin, mais efficace
Si tu sais tout choper dans ton code, tu sais faire un bel array, et y rajouter par la suite tes infos.
C'est bourrin, mais efficace
Schnick
Pas sur de te suivre, mon problème principal est que je n'arrive pas à distinguer quand arrive mon deuxième dataset qui ne rentre évidemment pas dans la table temporaire créée pour le premier. Je plante dès qu'il arrive au deuxième qu'il y ait des données ou pas.
Si je te suis (ou si je ne t'ai pas suivi au moins ça m'a donnée une idée ), je récupère les données et je vérifie pour chaque ligne à quel dataset en récupérant son nom de champ sachant quand arrive le deuxième et je le redirige vers ma deuxième table.
Je ne sais même pas si c'est possible de récupérer le nom du champ à partir de sa donnée...
Sinon, je ne vois pas ce que tu veux dire par à la main en programmant ? Remember : aucun droit quelconque sur la db sinon en consultation sur quelques vues et stored proc.
edit : ortho
Si je te suis (ou si je ne t'ai pas suivi au moins ça m'a donnée une idée ), je récupère les données et je vérifie pour chaque ligne à quel dataset en récupérant son nom de champ sachant quand arrive le deuxième et je le redirige vers ma deuxième table.
Je ne sais même pas si c'est possible de récupérer le nom du champ à partir de sa donnée...
Sinon, je ne vois pas ce que tu veux dire par à la main en programmant ? Remember : aucun droit quelconque sur la db sinon en consultation sur quelques vues et stored proc.
edit : ortho
zion
Et faire ta jointure à la main, en programmant? Lourd, mais jouable, non?
Autant j'apprécie les joies du SGBD, autant quand tu dois traiter de grosses jointures je me suis souvent aperçu qu'en faisant le boulot toi même tu as souvent de bien meilleures perfs
Autant j'apprécie les joies du SGBD, autant quand tu dois traiter de grosses jointures je me suis souvent aperçu qu'en faisant le boulot toi même tu as souvent de bien meilleures perfs
Schnick
Pas que je sache, le résultat d'une store proc pour pouvoir la traiter je dois la mettre dans une table temp avant de pouvoir en faire un select ou un join. Sauf s'il existe un autre moyen.
Et comme il y a deux jeux de données, je n'arrive pas à lui dire pour le premier dataset va dans cette table temporaire 1 et pour le second dataset va dans la table temporaire 2. Les deux datasets ne contiennent pas le même type de données.
J'ai fait une capture pour une meilleure compréhension :
Et comme il y a deux jeux de données, je n'arrive pas à lui dire pour le premier dataset va dans cette table temporaire 1 et pour le second dataset va dans la table temporaire 2. Les deux datasets ne contiennent pas le même type de données.
J'ai fait une capture pour une meilleure compréhension :
Jean-Christophe
Tu ne peux pas faire un sélect from le resultat du join de tes deux résultats pour n'obtenir qu'une seule table?
Schnick
Bonjour à tous,
Je vous soumets une problématique que je rencontre et pour laquelle je ne trouve pas de solution et mes "experts" n'en ont pas non plus.
Dans les postulats, il faut savoir que je travaille avec une base de données sur laquelle je n'ai aucun droit d'administration, je ne peux que utiliser les vues et procédures stockées qui sont à ma disposition et sans pouvoir les modifier.
J'ai posé la question à plusieurs endroits y compris le forum technet de Microsoft mais aucune qui tient compte de la contrainte : l'accès que j'ai sur cette base est uniquement en consultation sur les view et stored proc. On me propose souvent de modifier la procédure stockée ou de construire une autre vue...
Dans le cadre de la récupération d'information pour construire un rapport, j'ai trouvé une procédure stockée qui renvoie les informations qui me conviennent mais le problème est que cette stroed proc me renvoie deux datasets.
Sachant que je dois après faire une jointure de cette information avec d'autres résultats de query, donc je devrais pour bien faire mettre le résultat de la requête dans une table temporaire.
Est-ce que quelqu'un aurait une idée ?
Je vous soumets une problématique que je rencontre et pour laquelle je ne trouve pas de solution et mes "experts" n'en ont pas non plus.
Dans les postulats, il faut savoir que je travaille avec une base de données sur laquelle je n'ai aucun droit d'administration, je ne peux que utiliser les vues et procédures stockées qui sont à ma disposition et sans pouvoir les modifier.
J'ai posé la question à plusieurs endroits y compris le forum technet de Microsoft mais aucune qui tient compte de la contrainte : l'accès que j'ai sur cette base est uniquement en consultation sur les view et stored proc. On me propose souvent de modifier la procédure stockée ou de construire une autre vue...
Dans le cadre de la récupération d'information pour construire un rapport, j'ai trouvé une procédure stockée qui renvoie les informations qui me conviennent mais le problème est que cette stroed proc me renvoie deux datasets.
Sachant que je dois après faire une jointure de cette information avec d'autres résultats de query, donc je devrais pour bien faire mettre le résultat de la requête dans une table temporaire.
Est-ce que quelqu'un aurait une idée ?