ホーム ハイテクデバイス プリンター SQL Server レポートの自動印刷

SQL Server レポートの自動印刷

SQL Server Reporting Services (SSRS) レポートの印刷と格闘してきました。 SSRS は SQL Server データからレポートを作成するための優れたツールであり、非常に使いやすいインターフェイスを備えていますが、場合によっては、ユーザーが SSRS Web インターフェイスを操作せずにレポートをアプリケーションに統合したい場合があります。
Visual Studio 2005 および 2008 には、独自のデザインのフォームに埋め込むことができる ReportViewer コントロールが付属しています。また、これには、[印刷] ダイアログ ボックスを表示するために呼び出すことができる PrintDialog メソッドがあり、ユーザーはコピー数を選択できます。どのページをどのプリンタで出力するか。ただし、決定的に不足しているのは、印刷出力をプレビューする方法、さらに重要なことに、[印刷] ダイアログを表示せずにレポートを印刷する方法です。
これは、レポートを迅速に印刷する必要がある場合に必要になることがよくあります。たとえば、多数のレポートの作成をすべて同じプリンタで自動化する必要があり、ユーザーがそのプリンタを 1 回選択するだけで、残りはアプリケーションで処理できるようにしたい場合があります。ユーザーがそこに座って印刷されたコピーをすべて確認する必要は絶対に望んでいません。 Epson Stylus Photo PX710W Visual Studio には、任意のプリンターまたは印刷プレビュー ウィンドウに送信できる汎用 PrintDocument の概念がありますが、ReportViewer コントロールには PrintDocument を返すプロパティやメソッドがありません。私の解決策は、PrintDocument を提供する ReportViewer コントロールの機能をカプセル化して拡張するジェネリック クラスを作成することでした。
ReportViewer コントロールには ServerReport オブジェクトがあり、このオブジェクトには、表示するレポートとそのパラメーターを定義するために必要なすべてのプロパティが含まれています。 (サーバー上ではなくローカルで処理されるレポート定義を扱う場合には、対応する LocalReport オブジェクトがあります。) ServerReport オブジェクトは、レポート サーバーを指す URI (通常は SQL Server の名前) とパスを受け取ります。レポート定義。これらとレポートに必要なパラメータを設定すると、ReportViewer でレポートを表示できるようになります。
ただし、この場合、ReportViewer コントロールをユーザーに表示するのではなく、その Render メソッドを呼び出して、レポートの最初のページを EMF (拡張メタファイル) イメージとしてレイアウトし、結果を MemoryStream として返します。空の MemoryStream オブジェクトが返されるまで、Render メソッドを呼び出し続け、要求したページ番号をインクリメントします。受け取ったこれらすべての MemoryStream オブジェクトをリストに保存し、PrintPage メソッドが呼び出されるたびに適切なページの EMF 画像を返す PrintDocument を定義します。

「SQL Server レポートの自動印刷」に関するベスト動画選定!

SQL Server Reporting Services: Data Analysis Beginner Tutorial
SQLserverってなんだ その1