2017-11-23 3 views
1

これは私にとってはちょっと奇妙です。 SSRS Report Builder 3.0を使用してレポートを作成しています。私は2つの選択肢があります:1.レポートパラメータにリンクされたフィルタを使用するか、または2.レポートパラメータにリンクされたクエリパラメータを使用します。SSS Report Builder 3.0クエリパラメータ - レポートプレビュー

最初のケースでは、レポートプレビューが完璧に機能します。

Select ID, Name from tbl_Table 

しかし、私はレポートのパラメータにリンクされているクエリパラメータを使用する場合、プレビューが空白です:私は、ID列に適用されるパラメータ(@parameter_a)でフィルタするための単純なクエリを使用しています。クエリパラメータについては、次のクエリを使用します。

SELECT ID, Name FROM tbl_Table WHERE ID = @parameter_a 

私はこれについては無関心です。私はまた、デフォルト値を保持したり削除したりしてみました。レポートのリフレッシュ/表示も機能しません。

PS:私はMySql ODBC接続を使用しています。 C#アプリケーションで使用され、プログラム的にレンダリングされると、レポートの両方のオプションが正常に動作します。現在のバージョン、古いバージョンも再インストールしようとしました。

答えて

1

MySQLCommand documentationを読むと、以前のパラメータ構文(このシナリオで使用しているMySQLのバージョンが不明)が参照されています。

パラメタに '@'記号を使用するのが、現在は好ましい方法です '?'依然としてサポートされています。ユーザ変数 も使用されている場合は、 '@'を使用すると競合が発生する可能性がありますが、 を認識してください。この状況を助けるために、 'allow user variables'接続文字列オプションの のドキュメントを参照してください。 '古い構文'の接続文字列オプションは廃止されました。

代わりの@を使用して、あなたは?で試すことができます。

SELECT ID, Name FROM tbl_Table WHERE ID = ? 

クエリで使用されるパラメータの順序はSSRSレポートパラメータの順序と一致する必要があります。

+0

SSRSではパラメータが認識されません。前任者。 @で始まるパラメータが必要です。 –

+0

それだけです。ソートされました。助けてくれてありがとう。 –

+0

@ダニエル私は私のデータセットにMySQLストアドプロシージャと同様の問題があります。私はテキストとしてクエリの型を使用していて、 'call testProc ( \t?、?、?、?、?、? );を使用していますが、'行は返されません。私は、データセットのパラメータセクションで正しい順序でパラメータを言及しています。私は私のprocだけですべての行(クエリからパラメータフィルタを削除する)を返すように変更すると、私もSSRSのレポートに結果を得る。どんな提案も役に立ちます。 –

関連する問題