J'ai mis à jour le SP pour l'ensemble de données attaché utilisé par le tableau matriciel. L'actualisation a bien fonctionné et je peux voir mes nouveaux champs dans l'ensemble de données partagées lorsque je regarde dans l'onglet Champs. Mon problème est que le tablix lui-même ne me donne pas accès aux nouveaux champs. Il y a une déconnexion quelque part et je ne peux pas comprendre comment obtenir le tableau matriciel pour voir les champs mis à jour disponibles dans le jeu de données. Je rencontre fréquemment ce problème et espère pouvoir obtenir une bonne réponse ici pour pouvoir y revenir ultérieurement, car je suis sûr que je devrai le faire. J'ai googlé et parcouru les questions suggérées ici et je ne peux pas en trouver une qui est directement liée à cette question.
Je saurai également noter que le projet de rapport est dans le contrôle de source de TFS comme je l'ai lu qui a quelques effets secondaires défavorables. J'ai marqué l'ensemble du projet pour le montage et je suis également allé dans la structure de dossiers et je me suis assuré que tout était en lecture seule.
J'utilise SSRS 2008 dans VS 2010.
Je viens de le trouver ... Je ne comprends pas la nécessité de menus cachés comme celui-ci ..
Cliquez sur le rapport lui-même, puis sélectionnez Affichage dans le menu et tout en bas se trouve "Données du rapport". À partir de là, vous pouvez sélectionner votre ensemble de données et accéder à ses propriétés, puis actualiser les champs des ensembles de données attachés aux rapports. Quelle douleur dans les fesses.
Voici un lien qui aide à mieux l'expliquer . http://blog.dontpaniclabs.com/post/2012/01/26/Developings-Reports-for-SQL-Server-Reporting-Services
Vous pouvez également supprimer le fichier .data si vous ne parvenez toujours pas à l'actualiser.
Cela semble forcer l'actualisation probablement parce qu'il doit recréer le fichier.
Voici une méthode moins invasive mais qui ne fonctionne pas toujours:
Accédez au dossier de votre solution, où sont stockés les rdl, puis supprimez le fichier .rdl.data de votre rapport. La prochaine fois que vous créerez le rapport, un nouveau fichier rdl.data sera créé et contiendra tous les nouveaux champs du SP mis à jour.
ok, c'est peut-être un fil plus ancien, mais je rencontrais parfois le même problème. La façon la plus simple de résoudre ce problème consiste à ajouter la ligne de code suivante au début de la procédure stockée qui produit votre jeu de données pour le rapport:
SET FMTONLY OFF;
Bonne codage :)
Vieux fil, mais je me suis heurté à cela avec VS 2015 et SSMS 2016. J'étais certain que c'était un problème avec VS. Lorsque je suis retourné dans SSMS et que j'ai essayé d'exécuter ma procédure stockée, j'ai constaté que le fait de transmettre certaines valeurs de paramètre entraînerait l'échec de la requête. Fait intéressant, j'ai pu modifier la procédure stockée sans rencontrer d'erreur. (Peut-être parce que certaines combinaisons de paramètres ne donneraient pas lieu à un échec?)
Quoi qu'il en soit, à la fin de la journée, le codage défectueux de mon sproc empêchait l'actualisation des champs dans SSRS. Quand je suis retourné et corrigé les problèmes avec mon code, tout a fonctionné comme prévu dans VS.
Je travaille dans Visual Studio 2015 et aucune des réponses ci-dessus n'a fonctionné pour moi. Si vous obtenez les données d'une procédure stockée, vous devez ouvrir le fichier .xsd et faire un clic droit sur le modèle de données. Sélectionnez Configurer. Les valeurs correctes de la procédure doivent apparaître à droite de la fenêtre ..__ puis actualisez votre jeu de données à partir de l'onglet Données du rapport.
J'ai rencontré un problème très similaire:
Cela ne fonctionnait pas pour moi, alors j'ai finalement ouvert le fichier de rapport particulier [nom de fichier] .rdl dans un éditeur de texte et, surprise, il s'agissait de XML. Il était assez facile d'ajouter manuellement le champ manquant. Visual Studio m'a ensuite invité à actualiser le rapport.
<DataSets>
<DataSet Name="DataSet1">
...
<Fields>
<!-- add new field at this level -->
<Field Name="[newfield]">
<DataField>Email</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
</DataSet>
</DataSets>
Je rencontre exactement le même problème dans VS 2012. La procédure stockée utilisée en tant que requête ne permet pas d'actualiser les champs. Lorsque le bouton est enfoncé, rien ne se passe.
La seule solution que j'ai trouvée consiste à convertir le type de requête en texte et à fournir les valeurs de paramètre de l'appel exec
au SP.
Pourquoi devons-nous supporter ces bugs évidents?
J'avais le même problème et j'ai pu le résoudre en renommant mon jeu de données dans les propriétés, en créant un nouveau jeu de données avec le nom d'origine, puis en appuyant sur le bouton d'actualisation.
J'ai eu le même problème. J'ai installé le SP1 pour que le fichier .rdl.data soit généré, ce qui a également corrigé le problème d'actualisation des données.
Effacer les sources de données de reportviewer fonctionne pour moi.
this.(reportviewername).LocalReport.DataSources.Clear();
Supprimer .data pas de travail pour moi. Supprimer le jeu de données et ajouter à nouveau a fonctionné. Et j'avais précédemment configuré VS/SSRS pour NE PAS mettre en cache.
J'avais le même problème, mais la cause était différente des autres réponses au moment de la rédaction de cet article.
Dans mon cas, la procédure stockée utilisée comme source de données renvoyait plusieurs ensembles de données (en raison du code de débogage que j'avais laissé là).
SSRS "voyait" les champs du premier jeu de données, alors que je m'attendais à voir les champs du deuxième jeu de données.
La suppression des jeux de données superflus a résolu le problème et SSRS a pu afficher les champs que je souhaitais.
J'essayais d'utiliser un pilote ODBC pour la source de données qui s'est connectée correctement, mais n'affichait pas les champs dans le rapport VSRS SS 2015. Je suis retourné et ai utilisé une source de données basée sur le pilote SQL Server (c'est dans les choix lors de la conception d'une source de données) et cela a fonctionné parfaitement.