Transmettre le paramètre via l'url au service de rapports sql server

j'essaie de passer un paramètre via l'url à SSRS et il semble ne pas fonctionner!

j'essaie de passer un userId (string) via l'url qui sera passé à la base de données et utilisé par la requête.

url de base: <!--5 http://blah/Reports/Pages/Report.aspx?ItemPath=MyReport

essayé ceci mais ça ne fonctionne pas: http://blah/Reports/Pages/Report.aspx?ItemPath=MyReport&UserId = fred

idées

38
demandé sur skaffman 2009-07-03 15:04:10

8 réponses

en plus de ce que Shiraz a dit, Essayez quelque chose comme ceci:

http://<server>/ReportServer/Pages/ReportViewer.aspx?%2f<path>%2f<ReportName>&rs:Command=Render&UserID='fred'

notez que le chemin ne fonctionnera que si vous êtes dans un seul dossier. Quand je dois le faire, je me contente de parcourir le rapport en utilisant le chemin reportserver ("reports" est le gestionnaire de rapport) et de copier l'url puis Ajouter &<ParameterName>=<value> à la fin.

45
répondu Mozy 2012-11-20 13:33:27

j'ai eu la même question et plus, et bien que ce fil soit vieux, il est toujours bon, donc en résumé pour SSRS 2008R2 j'ai trouvé...

les Situations

  1. vous voulez utiliser une valeur d'une URL pour rechercher des données
  2. vous voulez afficher un paramètre d'une URL dans un rapport
  3. vous voulez passer un paramètre d'un rapport à un autre rapport

Actions

le Cas échéant, assurez-vous de remplacer Rapports / Pages / Rapport.aspx?ItemPath= ReportServer?. En d'autres termes: Au lieu de cela:

http://server/Reports/Pages/Report.aspx?ItemPath=/ReportFolder/ReportSubfolder/ReportName

Utilisez cette syntaxe:

http://server/ReportServer?/ReportFolder/ReportSubfolder/ReportName

ajouter le(S) paramètre (s) au rapport et définir comme caché (ou visible si l'action de l'utilisateur est autorisée, mais gardez à l'esprit que pendant que le paramètre du rapport va changer, L'URL va changement basé sur une mise à jour de l'entrée).

fixer les paramètres à L'URL avec Et ParameterName=Valeur

les paramètres peuvent être référencés ou affichés dans le rapport en utilisant @ParameterName, qu'ils soient définis dans le rapport ou dans L'URL

pour masquer la barre d'outils où les paramètres sont affichés, ajouter & rc: Toolbar=false à L'URL (référence)

en regroupant tout cela, vous pouvez lancer une URL avec des valeurs intégrées, ou appeler cela comme une action à partir d'un rapport et lire par un autre rapport:

http://server.domain.com/ReportServer?/ReportFolder1/ReportSubfolder1/ReportName&UserID=ABC123&rc:Toolbar=false

dans l'ensemble de données du rapport requête de propriétés: sélectionnez stuff dans la vue où User = @UserID

dans le rapport, définissez la valeur de l'expression à [UserID] (or =Fields!Nom d'utilisateur.Valeur)

gardez à l'esprit que si un rapport a plusieurs paramètres, vous pourriez avoir besoin d'inclure tous les paramètres dans L'URL, même si elle est vide, selon la façon dont votre requête d'ensemble de données est écrite.

Pour passer d'un paramètre à l'aide de l'Action = Aller à l'URL, l'expression de jeu:

="http://server.domain.com/ReportServer?/ReportFolder1/ReportSubfolder1/ReportName&UserID="
 &Fields!UserID.Value 
 &"&rc:Toolbar=false"
 &"&rs:ClearSession=True"

assurez-vous d'avoir un espace après une expression si suivie par & (un saut de ligne n'est pas suffisant). Aucun espace n'est requis avant une expression. Cette méthode peut passer un paramètre, mais ne cache pas qu'elle est visible dans l'URL.

Si vous n'incluez pas &rs:ClearSession=Vrai, alors le rapport n'est pas de rafraîchissement jusqu'à la session de navigation, le cache est effacé.

Pour passer d'un paramètre à l'aide de l'Action = Aller à signaler:

  • Spécifier le rapport
  • Ajouter un paramètre(s) pour exécuter le rapport
  • Ajouter paramètre (s) que vous souhaitez passer (les paramètres doivent être définis dans le rapport de destination, donc à ma connaissance, vous ne pouvez pas utiliser de commandes spécifiques à une URL comme rc:barre d'outils en utilisant cette méthode); cependant, je suppose qu'il serait possible de lire ou de définir la case à cocher de L'utilisateur Prompt, comme vu dans reporting sever paramètres, à travers le code personnalisé dans le rapport.)

Pour référence, / = %2f

48
répondu snyderj 2013-06-06 20:34:51

je viens de résoudre ce problème moi-même. J'ai trouvé la solution sur MSDN: http://msdn.microsoft.com/en-us/library/ms155391.aspx.

le format est

http://<server>/reportserver?/<path>/<report>&rs:Command=Render&<parameter>=<value>
8
répondu ccellar 2011-11-16 10:10:36

essayez de changer "Reports" en "ReportServer" dans votre url

6
répondu Shiraz Bhaiji 2009-07-03 14:47:22

essayez de passer plusieurs valeurs via url:

/ReportServer?%2fService+Specific+Reports%2fFilings%2fDrillDown%2f&StartDate=01/01/2010&EndDate=01/05/2010&statuses=1&statuses=2&rs%3AFormat=PDF

ça devrait marcher.

3
répondu Matthew Burrows 2011-05-10 00:15:50

j'ai résolu un problème similaire en passant la valeur du paramètre dans l'URL au lieu de l'étiquette du paramètre.

par exemple, j'ai un rapport avec un paramètre nommé viewName et les valeurs prédéfinies disponibles pour ce paramètre sont: (labels/values) orders/sub_orders, orderDetail/sub_orderDetail, product/sub_product.

pour appeler ce rapport avec une URL pour le rendre automatiquement pour parameter=product, vous devez spécifier la valeur pas le étiquette.

Ce serait une erreur: http://server/reportserver?De données /+Dictionnaire/DetailedInfo&viewName=produit&rs:Commande=Render

Ceci est correct: http://server/reportserver?De données /+Dictionnaire/DetailedInfo&viewName=sub_product&rs:Commande=Render

1
répondu RonG 2015-12-10 16:11:23

ce lien vous devrez peut-être aussi préfixer votre param avec &rp si vous n'utilisez pas la syntaxe proxy

0
répondu majjam 2016-05-26 16:35:35

essayez de changer " Reports "en" ReportServer " dans votre url. Pour accéder simplement à ce http://host/ReportServer/ et de là, vous pouvez aller aux pages du rapport. Il y a vos parmaters comme ça. &<parameter>=<value>

Pour plus de détails informations:

http://dobrzanski.net/2008/08/11/reporting-services-problem-with-passing-parameters-directly-in-the-url/

https://www.mssqltips.com/sqlservertip/1336/pass-parameters-and-options-with-a-url-in-sql-reporting-services/

0
répondu SHIBIN 2017-04-11 15:08:37