web-dev-qa-db-fra.com

Pourquoi mon rapport SSRS affiche-t-il d'anciennes données?

J'ai un rapport en direct qui affiche en quelque sorte les données en cache malgré le fait que j'ai désactivé tout le cache (que je sache). Lorsque j'exécute la requête dans l'éditeur de requête BIDS, les données actuelles sont affichées. Mais dans l'aperçu BIDS et le rapport déployé , il affiche toujours des données obsolètes. 

J'ai essayé d'activer/désactiver la mise en cache du rapport, puis de la désactiver dans les propriétés du rapport sur le site Web de rapports, puis je suis allé dans les propriétés de l'en-tête HTTP IIS et ai défini le contenu sur 'Expirer immédiatement'. J'ai déjà vu ce problème dans la fenêtre d'aperçu BIDS en raison du fichier .data stocké avec la définition du rapport (que j'ai supprimée/actualisée plusieurs fois), mais je ne l'ai jamais vu se produire avec un rapport en direct.

Existe-t-il une autre option de mise en cache quelque part qui me manque?

Edit: le rapport comporte également un paramètre sélectionné par l'utilisateur, ce qui rend encore plus perplexe car j'avais l'impression que les paramètres font que SSRS utilise les données les plus récentes même lorsque la mise en cache est activée.

20
Kon

En mode de développement pour SSRS, je supprime généralement le fichier nom_document.rdl.DATA. C'est-à-dire que les données sont conservées depuis la dernière exécution.

Il a fallu quelques analyses pour comprendre que c'était mon problème avec la modification des données source et le rapport ressemblant à la dernière analyse.

Edition: veillez à ne pas supprimer votre fichier de rapport .rdl (c’est le fichier "report.rdl.data" que vous souhaitez supprimer afin d’actualiser les résultats).

32
Nagshead

Ancien post, mais je suis toujours confronté à cela, et j'ai trouvé un article sur la façon de placer une option sous des outils externes pour faciliter cela. 

  1. Allez dans Outils> Outils externes ...
  2. Ajoutez un nouvel outil avec les paramètres suivants:
    • Titre: Clear Report Data Cache
    • Commande: "%WinDir%\System32\cmd.exe"
    • Arguments: /C DEL /S /Q "$(SolutionDir)\*.rdl.data"
    • Options de vérification: Utiliser la fenêtre de sortie et fermer à la sortie

Maintenant, chaque fois que vous souhaitez supprimer votre cache de données de rapport, allez simplement dans Outils> Vider le cache de données de rapport

Article complet ici: http://jasonfaulkner.com/ClearDataCacheBIS.aspx

22
AlsoKnownAsJazz

Aucune de ces options ne fonctionnait pour moi - alors j'ai coché "Utiliser une transaction unique lors du traitement des requêtes" dans les Propriétés de la source de données et l'aperçu a commencé à fonctionner avec les dernières données.

3
smallweed

J'ai constaté que lors de l'utilisation de VS dans SSRS 2010, le mode Aperçu ne montrait que les anciennes données. Si je suis allé à la requête de jeu de données et cliquez sur Actualiser, les nouvelles données tomberaient bien, puis l'aperçu afficherait les nouvelles données. C'était agaçant, mais en lisant cela, j'ai compris que le rapport déployé s'actualiserait normalement. Je ne pouvais pas prouver cette théorie car je n'ai pas accès à mes rapports de déploiement, ce qui est encore plus ennuyant. Quoi qu’il en soit, j’ai pris quelques astuces de divers articles et modifié la propriété AutoRefresh dans les propriétés du rapport de 0 à 1. Puis, lorsque je suis passé en mode Aperçu, le rapport a été mis à jour, mais a été mis à jour toutes les 1 secondes. Maintenant, je comprends comment cette propriété fonctionne et la définit sur 1000000. Cela signifie qu’elle s’actualise une fois lorsque vous accédez pour la première fois à Preview et qu’elle le referait ensuite en 1000000 secondes. plus. Je ne sais pas vraiment comment cela affecterait un rapport déployé, mais je dirais que c'est à peu près le même. Peut-être que quelqu'un d'autre qui a accès aux rapports déployés peut conseiller.

2
Greg

J'ai constaté avec SSRS que la suppression de la source de données du rapport d'un rapport, puis sa recréation fonctionne pour supprimer toutes les données en cache dans l'environnement BIDS . Cependant, je n'ai jamais vu un tel comportement à partir d'un rapport déployé.

Vous pouvez essayer de supprimer la source de données partagée du serveur SSRS , puis de la redéployer. Peut-être que cela provoquera un rafraîchissement similaire. Cependant, je ne passerais pas nécessairement à une telle extrême si le rapport déployé se trouve dans un environnement de production.

1
Scruffy

Peut-être que cela aiderait quelqu'un qui cherche à afficher les anciennes données, même si le rapport génère les données actuelles.

Je suis également confronté à de tels problèmes dans les rapports en direct existants. J'ai eu des données mises à jour du côté de la base de données. Mais le changement n'est pas travaillé. Je me suis rafraîchi plusieurs fois. Toujours afficher les anciennes données. Plus tard, j'ai découvert que j'avais cliqué sur "Afficher l'historique du rapport" pour le rapport (cette option s'affichera si vous passez le curseur de la souris sur le nom du rapport et cliquez sur le Downarrrow] . Dans la partie gauche de la page Historique du rapport, je suis allé à " Processing Option ', je pouvais voir que deux options de radio étaient disponibles. 

  1. Toujours exécuter ce rapport avec les données les plus récentes
  2. Rendre ce rapport à partir d'un instantané du rapport 

malheureusement, mon rapport a la sélection Point2. et il est programmé tous les jours à 7 heures. Donc, après 7 heures du matin, si nous faisons un changement, nous ne pourrions pas voir immédiatement. nous devons attendre l’instantané du jour suivant . Cependant, nous pouvons changer cela en sélectionnant Point1 qui vous apportera les données les plus récentes.

J'espère que cela pourra aider quelqu'un qui gère les rapports SSRS.

Cordialement, Viswa V.

1
salaiviswa

Beaucoup de gens oublient de le faire, assurez-vous toujours que vos fichiers .rds sont à jour. Dans SSRS, reconstruisez et redéployez les «sources de données partagées» et les «ensembles de données partagés» avec vos rapports.

  1. Sélectionnez les fichiers «Sources de données partagées» et «Fichiers de données partagés» (.rds).
  2. Cliquez avec le bouton droit de la souris sur «Construire».
  3. Cliquez avec le bouton droit de la souris sur «Déployer».

Maintenant, réexécutez le (s) rapport (s) de l'hôte. 

0
GBGOLC

Toujours exécuter ce rapport avec les données les plus récentes Ne pas mettre en cache les copies temporaires de ce rapport 

  1. Vérifiez si les options ci-dessus sont sélectionnées sous Options de traitement via ReportManager.
  2. vérifiez si votre jeu de données interroge les données actuelles.
  3. Actualiser le rapport.

C'est très bizarre.

0
January Mmako