2011-01-10 11 views
0

SQL Serverローカルレポートには、約5000ページのコンテンツが含まれています(画像はほとんどすべての行にあります)。 現在、すべてのデータを一度に取得するとタイムアウトの問題が発生するため、データベースへの複数の呼び出しを使用してデータセットを構築しています。 ローカルレポートのRenderメソッドを使用してレポートをpdfにレンダリングするのに、実際には非常に時間がかかります(約10分)。大量のデータを効率的に処理できないため、ローカルレポートを使用して処理するのに時間がかかります。このローカルレポートをサーバーレポートに変換する方法はありますか(データセットを動的に構築する必要があることに留意してください)。 私はそれを変換すればレポートを生成するのに要する時間に大きな違いがありますか?プログラムで生成されたデータセットを使用してSQL Serverレポートを作成する

編集:これはオンデマンドレポートである必要があります。コードに変更を必要としないだろう

答えて

1

一つの選択肢は、(多分夜遅く)設定した時間にSSRSスケジューラを使用して実行するには、あなたのレポートをスケジュールし、ファイル共有にレポートを公開することで、事前に

おかげか、 pdf形式でメールしてください。しかし、あなたがオンデマンドで実行しようとしている場合、この提案は役に立たないかもしれません。 SSRSのスケジューリングは、この種のものにとって便利です。

+0

私はそれが需要レポートにする必要があると指定されている必要があります。申し訳ありません。 – zSynopsis

+1

HmmmあなたはSQLサーバー上で大量の作業をしてから、このデータを、より良い言葉の欠如のために「永久温度」テーブルにドロップしようとしましたか?私。このテーブルをクリアしてそこにデータをダンプし、あなたのSSRSレポートが単純にこのテーブルを照会できるようにします。そうすれば、多くの作業をする必要はありません。私はSQL ServerとDb2からデータを引き出すときにこれを一度行いました。私は、私のために結合を行い、SSRSレポートに単に私のホールドテーブルのブラインドセレクトを実行させるprocを書きました... – kd7

+0

hmm興味深い方法それ。私はこれを試み、それがうまくいくかどうかを見ます。入力いただきありがとうございます! – zSynopsis

0

レポートに5000ページある場合は、レポートではありません。誰も5000ページを見ることはなく、実際には100ページは過剰と見なされます。

要約の合計を含む目次のような要約レポートを作成し、ナビゲーションツールとして使用すると、サマリーアイテムをクリックして詳細レポートに詳細をロードできます。詳細レポートには、customer_id asパラメータ。

理由:

  1. あなたは5000ページ「レポート」を読んで最後の時間が...笑あなたにも彼らに生を与えるかもしれないされたとき、誰も
  2. をロードするためのレポートを待ちませんテーブルをzipファイルに保存します。
  3. ASP.Netのメモリ制限(32Bitシステムの場合は2GB)。 「メモリ不足」エラーを避ける。
  4. これは決して電子メールで添付ファイルとして使用することはできません。それは一度エクスポートされた典型的な最大10MB以上の方法になるでしょう。
  5. 私はSSRSで120以上のレポートを作成しました。私はそこにいて、それを行っていますので、今後の問題を避けるために経験から教えています。私は自分のレポートサーバーのUIの置き換えをグラフィカルなツリー構造とたくさんの特別なボタンと機能だけでなく、独自のコマンドラインレポートサーバーと適切なログを使って書き込んで、電子メールが届かないことを確認できるようにしましたなぜなら、偽の電子メールアドレスなどでスケジュールされた電子メールをリダイレクトする...
  6. 適切なSQLインデックスを追加すると、10分かかる場合は何か問題があります。

    Main Report: 
    Customer1 $1,000 
    Customer2 $2,000 
    All Customers: $5,000 
    

    サブレポート(それに渡されたのcust_idパラメータを取得):

    Customer 1 $1000 
        Order1: $500 
        Item1: Socks 
        Item2: Shoes 
        Order2: $500 
    

    注:私は、 "サブレポートが" 私は1を意味するものではありませんと言う

は、これを行いますツールボックス私は、現在の顧客をサブレポートのパラメータに渡しているメインレポートのテキストボックスからcustomer_idをパラメータと「ナビゲーションリンク」とする別のレポートを意味します。あなたが本当にやっての代わりに、あなたの上司は、あなたが追撃さに切断し、彼は本当に答えた必要なものを求めている告げる何をすべきか

。明らかに、誰かが特定の答えを見つけるために何かを探しているのですが、彼はコンピュータがこれを行うことができないことを認識していません。だから彼は一日中暖かくぼんやりとした印刷ページを感じたいと思っています。これは、1つのフリーサイズの代わりに...など特定の部門からの人々のための具体的な質問に答えるために、いくつかの専門的なレポートを作成するために、常に良いでしょう。これは、人々は、他の男が戻ってくると延々と文句、列を追加または削除するには、後にあなたを伝えることは避けてください。

在庫は、この良い例です。セールスマンが必要と数量および詳細な一覧と在庫、財務監査人は、ドルの価値と凝縮形でのアイテムの年齢が必要です。

関連する問題