0

3つのパラメーターを使用してレポートを実行しています。2番目のパラメーターは、最初のパラメーターで選択された値に従って入力され、3番目のパラメーターは2番目のパラメーターに従って入力されます。

2番目と3番目のパラメーターで複数の値を選択できます。

2番目のパラメーターで2つの値を選択すると、3番目の値が入力され、SELECT ALLを実行しても、それは機能します。

しかし、3つ以上の値を選択すると、エラーがスローされます。

ローカルレポート中にエラーが発生
しましたデータセット「Dataset3」の次のデータ行を読み取れません
。varchar値「430.2」をデータ型intに変換するときに変換に失敗しました

私のアプローチを教えてください。

4

1 に答える 1

3

私のアプローチがどうあるべきか教えてください。

問題は、データとデータセット クエリにあります。データセット 2 の背後でクエリを実行し、問題を引き起こしている 3 つの値を特定する必要があります。これらの値が実際に正しいデータ型 (パラメーターの型) であるかどうかを調べます。パラメータのタイプがINTであるのに対し、値の1つは「430.2」である可能性が非常に高いです。

それが機能しない場合は、データセット 3 の背後でクエリを実行して、WHERE myval IN (@Param3)ビット内のパラメーターが、以前のクエリで取得した値のコンマ区切りリストに置き換えられるようにする必要があります。

どちらも何も返されない場合、次のステップは、SQL プロファイラーを実行し、SSRS がサーバーに送信している実際のクエリを取得することです。それらのクエリを選択し、手動で実行して問題をデバッグしてみてください。

さらに、データセットのフィールド マッピング設定が、データセット クエリによって実際に返される型と一致するかどうかを確認する必要があります。

于 2012-11-02T07:42:15.277 に答える