前提・実現したいこと
「VB.NET(Visual Basic 2012)」、「Visual Studio 2017」、「PostgreSQL9.2」、レポート(.rdlcファイル)を用いて、
SQLを発行してデータの集計結果をレポートに出力、印刷というプログラムを組んでいます。
発生している問題・エラーメッセージ
LocalReport型の変数にSetParameters()する時に以下の例外が発生します。
VB
1Microsoft.Reporting.WinForms.LocalProcessingException 2 HResult=0x80131500 3 Message=ローカル レポートの処理中にエラーが発生しました。 4 Source=Microsoft.ReportViewer.WinForms 5 スタック トレース: 6 場所 Microsoft.Reporting.WinForms.LocalReport.EnsureExecutionSession() 7 場所 Microsoft.Reporting.WinForms.LocalReport.SetParameters(IEnumerable`1 parameters) 8 場所 Microsoft.Reporting.WinForms.Report.SetParameters(ReportParameter parameter) 9 場所 **(String printerName, PreparationManagementFormPublichSelectionConditionDto& condition) (D:***.vb):行 856 10 11内部例外 1: 12DefinitionInvalidException: レポート 'D:***.rdlc' の定義が無効です。 13 14内部例外 2: 15ReportProcessingException: このレポートの定義が無効であるか、このバージョンの Reporting Services ではサポートされていません。レポート定義が新しいバージョンの Reporting Services で作成されている可能性があります。また、内容の形式が正しくないか、Reporting Services のスキーマに基づく有効な内容でない可能性もあります。詳細: レポート定義に、無効な対象の名前空間 'http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition' が指定されているため、アップグレードできません。 16
手を入れていないレポートは例外が出ずに問題なく印刷出来ます。
集計するデータとレポートのレイアウト以外にプログラムの違いはありません(同じメソッドを使い、同じ場所を通り、同じ型の変数を用います)。
原因は分かっており、レポートをテキストで見ると、
Visual Studio上で編集すると、レポートの二行目など、修正した覚えのない箇所も同時に修正されます。
'問題なく動作するrdlcファイル <Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"> '例外が発生するrdlcファイル <Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
修正前のrdlcファイルを参考に、上記をはじめ、レイアウトの修正以外の場所を手で直すと、問題なく動作します。
ただ、いちいち手で直すのが非常に面倒です。
Visual Studioから修正し、そのまま問題なくプログラムで動かせるようにするにはどうしたらよいでしょうか?
お知恵をお貸しいただければ幸いです。
また、参考になるサイトでも構いません。(分かりやすいサイトやブログが無い…)
試したこと
- Visual Studio 2012からレポートを修正
→2012からなら出来る、と聞いたが、そもそもExpressなのでレポートビューワーからのレポート修正が出来なかった。
- Report Builder 2.0でレポートを修正
→これも修正していない箇所が修正され、例外が発生する。
補足情報(FW/ツールのバージョンなど)
- .NET Framework 4 Client Profile
(説明不足でしたら申し訳ございません。)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/18 23:53