21

ユーザーから 2 つの値を受け取り、それらをクエリにフィードし、それらのエントリに関連付けられたデータを見つけたいというレポートを作成しています。

たとえば、従業員、業績指標、およびそれらに関連付けられた値のリストがあるとします。次に、ユーザーが従業員の名前/パフォーマンス測定値を選択すると、その測定値に対するその従業員のスコアリング情報が取得されます。

2 つのパラメーターがあり、それぞれが従業員の名前とメジャーの個別のリストを取得する SQL クエリから入力されます。下のテーブルは、~ 'WHERE name = @Name AND measure = @Measure' に基づいて情報を取得するだけですが、'ローカルでレポートを実行するにはプレビューを実行すると、「レポートの実行に必要な 1 つ以上のパラメーターが指定されていません」というエラーが表示されます。

パラメータの値をテキストボックスに直接入力でき、値が正しく入力されるため、パラメータが適切に機能していることはわかっています。また、1 つのパラメーターのみを受け入れるようにクエリを変更すると (つまり、WHERE メジャー = @Measure)、クエリは機能します。

パラメータが機能しており、適切に入力されていることがわかっているため、このエラーが発生する理由について混乱しています。

4

10 に答える 10

8

このエラーは、次のいずれかの場合に発生します

A ) 実際のレポートでは、パラメーターのスペルが間違っています。クエリは @Name を想定しているが、レポートは @Names (またはその他のスペル) を渡していることを意味します。

また

B ) @Name のパラメーターのデフォルト値を NULL にしてレポートを実行しようとしているのに、ストアド プロシージャが実際の値を必要とする可能性はありますか?

これは、Visual Studio でレポートを作成し、@Name パラメーターに既定値 (null) を指定した場合に発生する可能性があります。

デフォルト値を削除するか、@Name パラメーターが実際の値であることを確認してください。

于 2013-02-28T21:48:29.933 に答える
6

これは私に何時間もの痛みを引き起こしました。共有データセットの使用に関係していることが判明しました。代わりにレポート内にデータセットを埋め込むと、正常に機能します。

于 2013-05-15T09:00:07.210 に答える
1

私は同じ問題を抱えていました.SQL Server 2008 r2でソートされています。

これは今では古い質問であることは知っていますが、他の人を助けるために:

大文字と小文字を含むスペルが同じであり、@ が使用されていることを確認するだけで、非常に簡単でした。

次のコードを含む currentSpaceByDrive という共有データセットがあります。

SELECT 
   [DRIVE]
  ,[Volume_Size_GB]
  ,[VolumeSpaceAvailable_GB]
  ,[VolumePercentAvailable]
FROM  monitoring.dbo.currentSpaceByDrive(@ServerID)

共有データセット currentSpaceByDrive をレポートに追加し、同じ名前を付けます。それを右クリックすると、レポート、データセット プロパティ、パラメーターは @ServerID になります。

@ServerID 値は、the_servers (ユーザーがサーバー ID を選択する場所) と呼ばれる別のデータセットから取得されます。

the_servers から値を取得し、currentSpaceByDrive の @ServerID パラメーターを供給するために使用される @ServerID とも呼ばれるレポート パラメーターがあります。

@ServerID が多すぎることは理解していますが、これに基づいて独自のテストを行うと、それが完了します。添付の画像を参照してください。

これがマルセロに役立つことを願っています

ここに画像の説明を入力

于 2014-03-31T16:37:30.717 に答える
0

いくつかのレポートに共有 DataSet を使用していますが、この問題の根本原因は、レポート自体の入力パラメーターを共有データセットのパラメーターにマッピングしていませんでした。

修正するには、[レポート データ] パネルに移動し、データセット (実際には共有データセットにリンクしている) を開き、[パラメーター] タブをクリックして、レポート パラメーターを共有データセットのパラメーターにマップしました。

于 2019-09-11T20:22:20.387 に答える