2011-11-07 8 views
9

MVC3の既存のASP.NETアプリケーションへのアップグレードを開発する予定です。現行のアプリはIEベースのみで、アップグレードはブラウザに中立です。IE8 +、Firefox、Chrome、Safariで動作する必要があります。SQL Reporting Servicesのレポートビューアの代替

主な問題は、SQL Reporting Services 2008 R2に基づいていくつかのレポートがあり、レポートビューア2010コントロールを使用していることです。

ので、私たちは本当にこれは今後使用しない:それはバグが(私たちのサイトを壊すHTML 時々のレンダリングとして、たとえば、我々はSP1バージョンを使用することはできません)

    • それは
    • これは、ビューステートに基づいている(例えばIterationIdが URLバグに欠けている)非IEブラウザの問題を持って
    • これは、コントロールのレンダリングされた出力の一部をローカライズするのは難しい

    私は本当に代わりに(そのビューステートベースと私たちはMVCのソリューションをハックする必要がありますが)私は1つを見つけることができませんでした。 Reporting Servicesのレポートをレンダリングする代替コントロールはありますか?私たちが交換したいと思っているのはRSです。

  • +0

    他の人に自分自身のコメントを更新するにはこれまで、MVCは見つかりませんでしたが、RSのWebサービスエンジンを検討していました。これはオプションかもしれません。 – GrahamB

    +0

    私はReport Viewerからも逃げようとしています。私は、WCFサービスを使用して、必要な機能のほとんどを手に入れました。私が直面した唯一の問題はリンクされたレポートを処理することです。 SSRSをWebアプリケーションに統合する上で最も重要な側面の1つで、経験を共有してください。 – ntombela

    +0

    私はそれを試したことはありませんが、リンクされたレポートのAPIを追跡すると、まっすぐに見えます:https://msdn.microsoft.com/en-us/library/ms152864.aspx –

    答えて

    1

    SSRSを既存のウェブサイトと統合したいと思っていましたが、それはSSRS UIを使用したくないからです(それは自分自身のウェブサイトなので大変です)。レポートビューを使用したくありませんでした。コントロール(ASP.NET Webサイトを持っていますが、レポートビューアのコントロールには、必要な操作を行うためのオプションがありません)。

    1. SSRS Webサービスを呼び出して、レポートの一覧を返し、値をドロップダウンリストにドロップします。

    2. ドロップダウンリストからレポートパスを読み取り、選択したレポートのパラメータを返すSSRS Webサービスを取得します。

    3. #2に戻ったものに基づいて入力コントロールを作成します。

    4. ユーザーは入力値を入力してフォームを送信します。

    5. このページは値をSSRS Webサービスに渡し、ユーザーが要求した内容に基づいてPDF、Excel、Wordドキュメントを取得します。

    これは、すべてのことは困難ではありませんでした(それは&テストをコーディングする< 40時間かかった)し、本当にうまく動作します。 SSRSのあるバージョンから別のバージョンに移行する際に、SSRS Webサービスのさまざまなバージョンをサポートすることが最大の問題です。

    レポートをHTML形式で出力し、それをUIにポンピングしたいのであれば、それも可能です。

    明らかに、すべてのユーザーにレポートのプロパティを編集したり、サブスクリプションを作成したりする場合は、追加作業が必要です。

    0

    私はあなたに同意します。それは本当にバギーコントロールです。私は私のHTML出力を調整するために私のDOCTYPE設定で遊んだ。

    市販のものを試すことができる場合は、Telerikコントロールを見てください。

    はまた、この議論を見て:

    http://siddhumehta.blogspot.com/2011/07/ssrs-reportviewer-webpart-control.html

    +1

    私はまた、 WPFのレポートビューアを使用して大量のレポートを作成できます。 http://www.jenasysdesign.com.au/dnn/Blogs/tabid/71/Post/149/WPF-4-SQL-Server-Reporting-Services-processing-application-Memory-Leakを参照してください。 –

    0

    あなただけのHTMLバージョンを表示して、代わりにREST URI内のサービスに拘束されることにコントロールを設定することができるかもしれません。 EG:

    http:// (servername)/(ReportServer)/(PathtoReport)&(Parameter=Value)&rs:Command=Render 
    

    私は「フォームのHTMLオブジェクトでこれをホスティングを超えて何かを試したことがないが、あなただけのデフォルトのHTMLブラウザオブジェクトを使用して、ちょうど条件を持っているREST URIを強制的に逃げることができれば、私は疑問に思うでしょう。

    ASP.NETコードでVB.NETまたはC#.NETを実際にダイビングしたい場合もあります。たぶん、Reporting Servicesのバイト配列をPDFまたはHTMLの型にレンダリングし、それをビューアにも表示することができます。これは実行可能な解決策ではないかもしれません。あなたのレベルが、独自の形式と既存の呼び出しのWeb部分に対してバイナリオブジェクトを提示しようとしているのかどうか分からないからです。これはもっとうまくいくかもしれませんし、あなたがPDF、Excel、HTMLなどの選択したタイプのレンダリングに合わせて調整されます。私は基本的に、SSRSサービスからプロキシクラスを作り出した後、呼び出しを行うロジックを持つライブラリプロジェクトを作成しました。 Programmatically Export SSRS report from sharepoint using ReportService2010.asmx

    関連する問題