2

ストアド プロシージャからデータを取得するレポートがありますが、データなしでレポートを実行すると、ヘッダーのみが表示されます。SQL プロファイラーでプロシージャの実行を追跡できます。実行中のステートメントをそのパラメーターと共に SQL Management Studio にコピーすると、ステートメントが実行され、同じ DB から数千行のデータが返されます。

データ セットのタイムアウトは 0 に設定され、タイムアウト エラーは発生しないため、返されるデータの量には関係ないと思いますが、管理スタジオではコマンドの実行に 10 分かかります。

この問題を解決するにはどうすればよいですか?

更新:この問題は、レポートがストアド プロシージャの「クエリ タイプ」を使用しているデータセットからデータを収集しているという事実に関連しているようです。テキスト クエリ タイプとして exec ステートメントを入力すると、一部のデータが返されますが、レポートの実行時にパラメーターを変更しないでください。

4

2 に答える 2

1

なぜこれが修正されたのかはわかりませんが、.RDL 間のバインディングについてしばらく遊んだところ、問題が修正されたようです。レポート ビルダーではまったく同じように見えますが、SVN によると、すべてをかなり書き直しました。

于 2013-01-25T11:07:33.143 に答える
1

試してみるいくつかのこと:

  1. レポート サービスの外部で手順をテストして、結果が得られるかどうかを確認します。手順にバグがあるかどうかを確認しない場合。

  2. プロシージャからの結果は、メモリのために、ref_cursor、オブジェクトまたは配列型のテーブルの形式である必要があります。

  3. 実行する 10 分間が問題になる可能性があります。より迅速な応答で機能するかどうかをテストするためだけに手順を大幅に削減したとしても、手順を短くして実行を高速化することをお勧めします。例として、同じ戻り値の型を使用してダミー テーブルを返すことが考えられます。

于 2013-01-22T22:57:53.263 に答える