web-dev-qa-db-fra.com

Erreur SSRS sur l'aperçu: "La taille nécessaire pour mettre en mémoire tampon le contenu XML dépassait le quota de mémoire tampon" masque l'erreur d'origine

Je comprends qu’il ya vraiment un problème avec mon rapport (par exemple, les colonnes missmatcch) et je dois le corriger, mais ce que j’aperçois, c’est le message d’erreur WCF qui masque le problème réel et qui me cache énerve beaucoup plus que le problème initial: le manque de correspondance des colonnes.

Je suppose que nous devons ajuster la "taille du tampon" du WCF et nous obtiendrons le message du problème original. Mais où est le fichier de configuration? La recherche de "system.serviceModel" dans C:\Program Files (x86)\Microsoft Visual Studio 10.0 n'apporte pas une bonne idée ... 

P.S. Puisqu'il ne s'agit que d'un aperçu du rapport, je ne pense pas que ce soit un problème de configuration SSRS. Problème localisé quelque part dans le processus DevStudio ou dans le processus du serveur Web interne de DevStudio ...

P.P.S S'il vous plaît aidez-moi aussi à améliorer la question. Je constate que les intervenants ne comprennent pas le type d'aide dont j'ai besoin.

15
Roman Pokrovskij

J'ai rencontré plusieurs "variantes" de ce bogue dans SSRS Preview. Il semble que le rendu du mode Aperçu est assez fragile.

Il existe un moyen simple de résoudre ce problème. Ignorez l'erreur et essayez de télécharger le fichier RDL sur votre serveur de génération de rapports. Le téléchargeur se fera un plaisir de vous dire exactement ce qui ne va pas dans votre fichier - il vous dira exactement quel champ a un problème et en quoi consiste ce problème. S'il y a plusieurs erreurs, vous serez informé de chaque champ et de l'erreur associée à chacun.

Je peux créer cette erreur de tampon XML fictive avec l'un des éléments suivants:

  • Ajoutez un nouveau Tablix, commencez à le connecter à un jeu de données, puis annulez.
  • Copiez/collez du texte dans une zone de texte à partir d’un document MS Word dans lequel une ou plusieurs lignes ont un retrait négatif (l’extrémité de la colonne de droite est en dehors de la marge de la page).
  • Connectez un jeu de données avec une valeur renvoyée par varchar (8000).
22
Kim Crosser

J'ai constaté cette erreur lors de l'ajout d'un nouveau champ à un ensemble de données existant en cliquant sur "Actualiser les champs" . La source de l'ensemble de données était une procédure stockée. Le résultat était que seuls quelques champs d'origine apparaissaient dans la liste de champs de l'ensemble de données et non le nouveau champ. Si j'essaye de prévisualiser le rapport, je reçois une erreur de tampon XML.

La solution de contournement consistait à ne pas actualiser les champs, mais à ajouter un nouveau champ et à taper le nom du nouveau champ dans le champ de propriétés du dataset en dernier.

A bien fonctionné après cela.

2
jjm

J'ai encore cette erreur aujourd'hui.

J'avais créé une table contenant des données pour remplacer deux requêtes lentes. J'ai changé quelques noms pour nettoyer le processus.

Je pense que l'erreur signifie en fait qu'il y a tellement de problèmes avec mon rapport que le tampon contenant les divers messages d'erreur n'est pas assez grand, ce qui conduit au message d'erreur.

La taille nécessaire pour mettre en mémoire tampon le contenu XML a dépassé le quota de mémoire tampon

Bien sûr, cela devrait être une solution facile, mais Microsoft a déclaré qu’ils ne le corrigeront pas

https://connect.Microsoft.com/SQLServer/feedback/details/742913/ssdt-reporting-services-designer-error

1
Hannover Fist

EDIT: J'ai mis à jour ma réponse après avoir corrigé le problème.

Je rencontre actuellement ce problème après avoir modifié plusieurs procédures stockées et mis à jour les noms de jeu de données dans le rapport SSRS.

Et lorsque j'essaie d'exécuter l'aperçu, je reçois exactement la même erreur.

En fin de compte, après avoir étudié le problème, le problème était que j'avais changé la propriété name de mes ensembles de données.

enter image description here

Il existe plusieurs endroits dans mon rapport où les formules ou expressions utilisent les anciennes propriétés de nom des jeux de données que j'ai renommés. Après avoir annulé les noms des ensembles de données, j'ai réussi à obtenir les vraies erreurs telles que les champs manquants, etc. Les erreurs atcual sont revenues après que j'ai redéfini les propriétés du nom de mon ensemble de données.

J'ai seulement changé la propriété de nom à ce qu'elle était, les noms de procédure stockée faisaient correctement référence à mes procédures stockées renommées.

1
Rafs

Une autre solution consiste à ouvrir le fichier .rdl dans le Générateur de rapports version 3.0 (contrairement à Visual Studio) et à en obtenir un aperçu. J'ai trouvé que cela me donnait les détails de l'erreur, bien que si plus d'une erreur est présente, elle ne montre que la première. 

0
flash

J'ai eu cette erreur après avoir copié mon code personnalisé dans Visual Studio pour le mettre en surbrillance pour une meilleure lisibilité. Eh bien, Visual Studio a ajouté des définitions de classe au début et à la fin du fichier. Après avoir modifié le code, je l'ai collé pour signaler le code personnalisé, puis j'ai obtenu cette erreur. Le correctif consistait simplement à supprimer les définitions de classe (Public Class Class1 et End Class) du code personnalisé. Alors, vérifiez également votre code personnalisé (le cas échéant).

0
RonVibbentrop

J'ai eu le même message d'erreur et c'était totalement causé par mon comportement. C'est un peu gênant, mais si ça aide quelqu'un, alors c'est génial! J'avais accidentellement copié ma requête de jeu de données contenant une petite instruction de sous-sélection, que j'utilisais pour vérifier les valeurs de paramètre/variable. 

0
KirstieBallance

J'ai précédemment lié une zone de texte à

Les champs! FieldName

et le fixe avec

Les champs! FieldName.Value

Cela dit, et avec les autres réponses affichées, cette erreur se produit de différentes manières. Mon problème a été résolu après que la propriété de champ "Valeur" ait été incluse.

0
jgmreyes

Pour un rapport de travail, lorsque j'ai essayé d'ajouter une colonne, cela m'a donné cette erreur. J'ai édité le fichier .rdl en utilisant notepad ++. Après l'invite SSRS à recharger la modification à partir du disque, cela a fonctionné sans problème.

0
Jones

Je suis aussi confronté à ce problème. Je résous cette recherche et remplace 

  1. Microsoft.VisualBasic.Interaction.iif ==> iif
  2. Microsoft.ReportingServices.RdlObjectModel.ExpressionParser.VBFunctions.cdbl ==> cdbl

J'espère que cela peut aider quelqu'un. Merci

0
Singaravelan

J'ai eu ce problème lorsque, après avoir copié et collé un tableau, il a changé CDbl dans une formule en Microsoft.ReportingServices.RdlObjectModel.ExpressionParser.VBFunctions.CDbl J'ai ouvert le fichier XML et supprimé toutes les instances de "Microsoft.ReportingServices.RdlObjectModel.ExpressionParser.VBFunctions." et le rapport a ensuite fonctionné.

0
Brett

Causes fondamentales possibles

  1. Le nom du paramètre est incorrect (cas/commande)
  2. Accéder à une propriété non existante.
    et beaucoup plus...

Solution: pour obtenir le message d'erreur exact, 

  1. Déployez le rapport SSRS et trouvez l'erreur: Suggérée par "Kim Crosser" déjà
  2. Supprimez temporairement la section (SSRS/Report content) qui vous semble être sans erreur afin de libérer de l'espace dans la mémoire tampon afin que vous puissiez obtenir un message d'erreur réel. Ajoutez plus tard des sections à la page (supprimées précédemment).  
0
RollerCosta

J'ai eu cette erreur après avoir ajouté de nouveaux paramètres à un rapport existant. 

Pour une raison quelconque, lorsque j'ai d'abord créé les paramètres, puis modifié le jeu de données pour utiliser les nouveaux paramètres, l'erreur s'est produite, mais lorsque j'ai modifié le jeu de données, j'ai d'abord ajouté les paramètres en second et je n'ai pas obtenu l'erreur. 


Cela semblait être un comportement très étrange pour moi, je l'ai donc testé en restaurant le rapport à partir du référentiel et en répétant le processus trois fois avec chaque méthode. Chaque comportement était identique.

0
Wayne