web-dev-qa-db-ja.com

プレビュー時のSSRSエラー:「XMLコンテンツをバッファリングするのに必要なサイズがバッファクォータを超えました」は元のエラーを隠します

私はレポートに間違いがあることは間違いないことを理解しています(例えば、列のmissmatcch)、それを修正する必要がありますが、実際に問題を隠しているWCFエラーメッセージがあり、まさにこの隠蔽は元の問題よりもはるかにイライラします:列のミスマッチ.

WCFの「バッファサイズ」を調整する必要があり、元の問題メッセージが表示されます。しかし、設定ファイルはどこにありますか? C:\ Program Files(x86)\ Microsoft Visual Studio 10.0の「system.serviceModel」のテキスト検索では、良いアイデアがもたらされません...

追伸これはレポートのプレビューにすぎないため、SSRS構成の問題だとは思わない。 DevStudioプロセスのどこかにローカライズされた問題、またはDevStudioの内部Webサーバープロセスにint ...

P.P.S質問の改善にご協力ください。レスポンダーは私がどのような助けを必要としているか理解していないようです。

15

SSRSプレビューでこのバグの複数の「フレーバー」に遭遇しました。プレビューモードのレンダラーは非常に壊れやすいようです。

これを解決する簡単な方法があります。 エラーを無視して、RDLファイルをレポートサーバーにアップロードしてみてください。アップローダーは、あなたのファイルの何が問題なのかを正確に教えてくれます-問題のあるフィールドとその問題を正確に教えてくれます。複数のエラーがある場合、各フィールドと各フィールドに関連するエラーが通知されます。

この偽のXMLバッファエラーは、次のいずれかで作成できます。

  • 新しいTablixを追加し、データセットへの接続を開始してからキャンセルします。
  • 1つ以上の行に負の右インデントが設定されているMS Word文書から、テキストボックスにテキストをコピーして貼り付けます(右列の端はページマージンの外側です)。
  • Varchar(8000)の戻り値でデータセットを接続します。
24
Kim Crosser

レポートアイテムのいずれかが、既存のデータセットスコープにないフィールドを参照しているかどうかを確認してください。

これは実際に私のために働いた。

詳細については、以下のリンクを参照してください。 http://connect.Microsoft.com/SQLServer/feedback/details/742913/ssdt-reporting-services-designer-error

15
Murthy

今日もこのエラーが出ました。

2つの遅いクエリを置き換えるデータを保持するテーブルを作成しました。プロセスをクリーンアップするためにいくつかの名前を変更しました。

このエラーは、実際にはレポートに非常に多くの問題があるため、さまざまなエラーメッセージを保持しているバッファが十分に大きくなく、エラーメッセージにつながることを意味すると思います。

XMLコンテンツのバッファに必要なサイズがバッファクォータを超えました

もちろん、これは簡単な修正であるはずですが、Microsoftは彼らは修正しないと述べています。

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

2
Hannover Fist

[フィールドの更新]をクリックして既存のデータセットに新しいフィールドを追加すると、このエラーが発生しました。データセットソースはストアドプロシージャでした。結果は、新しいフィールドではなく、データセットフィールドリストに表示された元のフィールドのほんの一部でした。レポートをプレビューしようとすると、XMLバッファーエラーが発生します。

回避策は、フィールドを更新せずに、新しいフィールドの追加をクリックして、最後にデータセットプロパティフィールドに新しいフィールド名を入力することでした。

その後はうまくいきました。

2
jjm

編集:私は問題を修正したことに基づいて私の答えを更新しました。

複数のストアドプロシージャを変更し、SSRSレポートのデータセット名を更新した後、現在この問題が発生しています。

プレビューを実行しようとすると、まったく同じエラーが発生します。

結局のところ、問題を調査した後、問題はデータセットの名前プロパティを変更したことでした。

enter image description here

レポートには、名前を変更したデータセットの古い名前プロパティを数式または式が使用する場所がいくつかあります。データセット名を元に戻した後、フィールドの欠落などの本当のエラーを取得することができました。データセット名のプロパティを元の値に戻した後、実際のエラーが戻ってきました。

名前プロパティを元の名前に戻すだけで、ストアドプロシージャ名は、名前を変更したストアドプロシージャを正しく参照していました。

1
Rafs

別の解決策は、(Visual Studioとは対照的に)レポートビルダー3.0で.rdlファイルを開き、プレビューすることです。これによりエラーの詳細がわかりましたが、複数のエラーが存在する場合は最初のエラーのみが表示されます。

0
flash

読みやすくするためにコードを強調表示するために、カスタムコードをVisual Studioにコピーした後にこのエラーが発生しました。さて、Visual Studioはファイルの最初と最後にクラス定義を追加しました。コードを編集した後、カスタムコードを報告するために貼り付け直し、このエラーが発生しました。修正は、カスタムコードからクラス定義(パブリッククラスClass1およびエンドクラス)を削除するだけでした。そのため、カスタムコードも確認してください(ある場合)。

0
RonVibbentrop

同じエラーメッセージが表示されましたが、それは完全に自分の行動が原因でした。それは少し恥ずかしいですが、それが誰かを助けるのなら素晴らしいことです!パラメーター/変数値を確認するために使用していた小さなサブ選択ステートメントを含むデータセットクエリを誤ってコピーしてしまった。

0
KirstieBallance

以前にTextBoxをバインドしました

Fields!FieldName

そしてそれを修正しました

Fields!FieldName.Value

とはいえ、他の回答も投稿されているため、このエラーはさまざまなフレーバーで発生します。フィールドプロパティ「値」を含めた後、私の問題は修正されました。

0
jgmreyes

作業レポートの場合、列を追加しようとすると、このエラーが発生しました。 notepad ++を使用して.rdlファイルを編集しました。 SSRSがディスクから変更をリロードするように指示した後、問題なく機能しました。

0
Jones

私もこの問題に直面しています。私はこれを解決します

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

これが誰かの助けになることを願っています。ありがとう

0
Singaravelan

Tablixをコピーして貼り付けた後、式のCDblをMicrosoft.ReportingServices.RdlObjectModel.ExpressionParser.VBFunctions.CDblに変更すると、この問題が発生しました。 XMLを開き、「Microsoft.ReportingServices.RdlObjectModel.ExpressionParser.VBFunctions」のすべてのインスタンスを削除しました。その後、レポートは機能しました。

0
Brett

考えられる根本原因

  1. パラメーター名が正しくありません(ケース/順序)
  2. 存在しないプロパティへのアクセス。
    などなど...

解決策:正確なエラーメッセージを取得するには

  1. SSRSレポートを展開し、エラーを見つけます。「Kim Crosser」によって既に提案されています
  2. セクション(SSRS /レポートコンテンツ)を一時的に削除して、実際のエラーメッセージを取得できるように、バッファー内のスペースを解放するためにエラーがないと一時的に感じます。後でページにセクションを追加し直します(以前に削除されました)。
0
RollerCosta

既存のレポートにいくつかの新しいパラメーターを追加すると、このエラーが発生しました。

何らかの理由で、最初にパラメーターを作成してから新しいパラメーターを使用するようにデータセットを変更するとエラーが発生しましたが、最初にデータセットを変更してからパラメーターを追加するとエラーは発生しませんでした。


これは非常に奇妙な動作のように思えたので、リポジトリからレポートを復元し、各メソッドでプロセスを3回繰り返してテストし、毎回同じ動作をしました。

0
Wayne