2013-01-04 64 views
4

我正在使用SSRS 2008 R2。並發現在我看來一個錯誤的情況。從多值參數檢查多個值時,SSRS會轉義兩次單引號

我有一個共享數據集 -

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

我結合這個DS到多值參數。當我從多值下拉只檢查value'2 - 我看到在SQL事件探查器這樣的參數傳遞

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

當我在探查檢查這兩個值我看到

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

我的程序對待第一種情況正確。

在我看來,逃脫髮生兩次 - 第一次爲每個值,第二次爲整個字符串?

有沒有人知道這種行爲的來源,提前Thx!

Here is the same thread on MS

回答

5

我經歷了一個非常類似的問題 - 最不可思議的部分,正如你所看到的,是當選擇一個參數,但並不適用於多個參數,它的工作。

無論如何,我解決了這個由參數傳遞到存儲過程稍有不同 - 在數據集中的Parameters部分使用下面的表達式:

=Join(Parameters!Value.Value, ",")替換您的參數名稱進行相應。

這將有效地傳遞相同的逗號分隔字符串的值,但由於某種原因似乎正確處理引號。

+1

Thx很多伊恩。十分優雅。 –

+1

你是救世主謝謝,笨蛋SSRS! –