4

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

我有一个共享数据集 -

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

我将此 DS 绑定到多值参数。当我从多值下拉列表中仅检查 value'2 - 我看到在 SQL Profiler 中传递了这样的参数

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

当我在探查器中检查两个值时,我看到

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

我的程序正确处理了第一种情况。

在我看来,转义发生了两次——第一次是每个值,第二次是整个字符串?

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

这是 MS 上的同一个线程

4

1 回答 1

6

我遇到了一个非常相似的问题 - 正如您所看到的,最奇怪的部分是它在选择一个参数而不是多个参数时起作用。

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

=Join(Parameters!Value.Value, ",")根据需要替换您的参数名称。

这仍然会有效地传递相同的逗号分隔的值字符串,但由于某种原因似乎可以正确处理引号。

于 2013-01-04T10:14:55.563 回答