在我的SSRS報告中,我有一個包含250個uniqueidentifier數據類型值的多值參數。這工作得很好,在參數下拉值的一小部分,但是當用戶選擇(全選),他們得到這個錯誤:多值參數截斷
An error occurred during local report processing.
String or binary data would be truncated.
每個唯一標識符字段是長36個字符,這意味着他們的250加在一起導致9000個字符的字符串。這是導致截斷髮生的原因。
我應該採取什麼方法來處理這種情況?
編輯:
存儲過程的夫婦快照:
ALTER PROCEDURE [dbo].[spReport]
@StartDate as datetime
,@EndDate as datetime
,@LocationId uniqueidentifier
,@UserIds uniqueidentifier
@UserIds是多值參數。它用於查詢的where子句中:
WHERE (U.UserId IN (@UserIds) OR @UserIds IS NULL)
這是我在SO上最狂野的行爲。我只是因爲你的暱稱而提出了你的問題 –
當你在報告中選擇「全部」或者在查詢中存在問題時是否發生錯誤? –
你能分享你的查詢的樣子嗎?是否有可能通過'nvarchar(xxx)'(xxx <9000)調用存儲過程?另外,您可以嘗試使用SQL事件探查器來抓取正在執行的查詢並嘗試手動執行它。 – Jeroen