4

SSRS 2008 R2 を使用しています。そして、私にはバグと思われる状況が見つかりました。

私は共有データセットを持っています -

SELECT 'value1' AS Value
UNION
SELECT 'value''2'

この DS を複数値パラメーターにバインドします。複数値のドロップダウンから値 '2 のみをチェックすると、SQL プロファイラーでそのようなパラメーターが渡されることがわかります

@Value=N'value''2' -- Two single quotes

プロファイラーで両方の値を確認すると、

@Value=N'value1,value''''2' -- Four single quotes

私の手順は最初のケースを正しく扱います。

エスケープが2回発生するように思えます.1回目はすべての値で、2回目は文字列全体ですか?

そのような行動の原因を知っている人はいますか、事前に Thx!

これはMSの同じスレッドです

4

1 に答える 1

6

私は非常によく似た問題を経験しました - あなたが見たように、最も奇妙な部分は、1 つのパラメーターが選択されたときに機能したが、複数のパラメーターに対しては機能しなかったことです。

とにかく、パラメーターをストアド プロシージャに渡すことでこれを解決しましParametersた。データセットのセクションでは、次の式を使用します。

=Join(Parameters!Value.Value, ",")必要に応じてパラメーター名を置き換えます。

これは効果的に同じカンマ区切りの値の文字列を渡しますが、何らかの理由で引用符を正しく処理しているようです。

于 2013-01-04T10:14:55.563 に答える