0

私はasp.netでレポートを作成するのが初めてで、うまく機能させることができません。基本的に、ここで言われたことのデモを作りました。すべてが正常に機能し、ローカル システムでレポートが生成されました。しかし、Webサーバーでは機能しませんでした。

さて、ここで混乱しています。asp.net [VS 2010 - .NET 4.0] には、ローカル モードとサーバー モードの 2 つのレポート モードがあります。ローカル モードには RDLC 拡張子があり、サーバー モードにはレポート デザイン ファイルの拡張子として RDL があり、サポートには SQL Server レポートが必要です。一方、RDLC はクライアント マシン上で作成されます [ばかげた質問に見えるかもしれませんが、 、それは私のマシンまたは私のPCであり、Webサーバーではありません。つまり、Webサーバーに展開して使用することはできません]。

混乱の根底にあるのは、同じデモ プロジェクトを Web ホスティングにアップロードして実行したことです。レポート ビューアー コントロールは完全に表示され、すべてが正常に見えましたが、表示される実際のレポートは、レポート ビューアー ツールバーの下にありませんでした。しかし同時に、レポートの PDF、XLS、および DOC 形式を完全に正常にダウンロードでき、実際の行と列が生成されており、レポートが生成されていることがわかります (棒グラフも含まれていました)。 rdlc の設計、およびそれも生成されます)。これは、Web サーバーに Report Viewer ライブラリがインストールされておらず、RDLC ファイルをレンダリングする方法がわからなかったためだと思います。

したがって、実際の質問は次のとおりです。

レポート ファイル形式として RDLC を使用している場合、Web サーバー上でレポートを生成できるという考えは正しいですか?それとも、代わりに RDL を使用する必要がありますか?

RDLC (Local Report) を使用してアプリケーションをデプロイした場合、もちろんWeb サーバーにデプロイしても問題なく動作しますか? レポート ビューアーを Web サーバーにインストールまたはインストールすることは可能ですか?

また、RDLC と RDL を使用する必要がある場合と使用しない場合があります。以前の質問RDL レポートよりも RDLC を使用する場合は? .しかし、私のシナリオではより簡単な説明を探しています。

4

2 に答える 2

3

RDLC


  1. クライアント側のレポートであるレポートは、Windows アプリや Web アプリなどのアプリケーションに同梱されています。
  2. レポートをエクスポートできる形式に関して機能が制限されています。
  3. レポートのデータ処理とレンダリングは、レポートがホストされているアプリケーションのアドレス空間を消費します。これは、Windows または Web である可能性があります。大量のレポートを頻繁にプルする場合、これによりパフォーマンスの問題が発生する可能性があります。
  4. これには、個別の SQL インスタンスやライセンスは必要ありません。

RDL


  1. これはサーバー側のレポートです。レポートは SQL Reporting Services サービスと呼ばれる専用のサーバー プロセスで処理され、出力はアプリケーションまたはエンド ユーザーに提供されます。
  2. サーバー レポートは、実行および拡張できるように設計されています。
  3. 個別のプロセス/サービスとして実行され、SQL ライセンスが必要です。
  4. RDLC では利用できない複数の形式へのエクスポートを提供します
  5. サーバー レポートは拡張可能な製品です。独自のデータ処理、セキュリティ、または配信拡張機能を含めることができます。
  6. すぐに使用できるサブスクリプションを使用して、自動化された電子メール配信とレポートのファイル配信をサポートします。

概要


  1. シンプルで小規模なレポートをあまり頻繁に使用しない場合は、クライアント側レポート (rdlc) を検討してください。
  2. さまざまなアプリケーション ユーザーのレポート要件を満たすために、専用の中央サービスをセットアップする場合は、(rdl) を検討してください。これは、必要に応じて拡張、監視、最適化、およびスケールアウトできます。
于 2013-07-29T20:52:57.680 に答える
1

RDL と RDLC 形式は、同じ XML スキーマを持ちます。ただし、RDLC ファイルでは、一部の値 (クエリ テキストなど) を空にすることができます。これは、レポート サーバーにすぐにパブリッシュする準備ができていないことを意味します。SQL Server 2008 バージョンのレポート デザイナーを使用して RDLC ファイルを開くと、不足している値を入力できます。(最初に名前を変更する必要があります.rdlc.rdl)

RDL ファイルは、ReportViewer コントロール ランタイムと完全に互換性があります。ただし、RDL ファイルには、ReportViewer コントロールのデザイン時にデータ バインディング コードを自動的に生成するために依存する情報が含まれていません。データを手動でバインドすることにより、ReportViewer コントロールで RDL ファイルを使用できます。

注: ReportViewer コントロールには、データベースへの接続やクエリの実行のためのロジックは含まれていません。このようなロジックを分離することで、ReportViewer は非データベース データ ソースを含むすべてのデータ ソースと互換性を持つようになりました。ただし、これは、RDL ファイルが ReportViewer コントロールによって使用される場合、RDL ファイル内の SQL 関連情報がコントロールによって単純に無視されることを意味します。データベースに接続し、クエリを実行し、ADO.NET DataTable の形式で ReportViewer コントロールにデータを提供するのは、ホスト アプリケーションの役割です。

参照: http://forums.asp.net/t/1173578.aspx/1

また、チェックしてください:http://dinesql.blogspot.com/2010/11/reporting-services-difference-between.html

于 2013-07-29T11:04:18.397 に答える