从多值参数中检查多个值时,SSRS两次转义单引号

Sta*_*kiy 4 reporting-services ssrs-2008

我正在使用SSRS 2008 R2.并发现在我看来是一个错误的情况.

我有一个共享数据集 -

SELECT 'value1' AS Value
UNION
SELECT 'value''2'
Run Code Online (Sandbox Code Playgroud)

我将此DS绑定到多值参数.当我从多值下拉菜单中仅检查值'2时 - 我看到在SQL事件探查器中传递了这样的参数

@Value=N'value''2' -- Two single quotes
Run Code Online (Sandbox Code Playgroud)

当我检查分析器中的两个值时,我看到了

@Value=N'value1,value''''2' -- Four single quotes
Run Code Online (Sandbox Code Playgroud)

我的程序正确处理了第一个案例.

在我看来,逃避发生两次 - 首先是每个值,第二个是整个字符串?

有谁知道这种行为的来源,Thx提前!

这是MS上的相同线程

Ian*_*ton 6

我遇到了一个非常类似的问题 - 正如您所见,最奇怪的部分是,当选择一个参数但不适用于多个参数时,它可以工作.

无论如何,我通过将参数稍微不同地传递给存储过程来解决这个问题 - 在Parameters数据集的部分中使用以下表达式:

=Join(Parameters!Value.Value, ",") 替换您的参数名称.

这实际上仍将传递相同的逗号分隔的值字符串,但由于某种原因似乎正确处理引号.