我正在检查用户是否有权通过数据集存储过程查看报告,如果用户没有,则调用raiserror。
当存储过程(填充报表数据集)引发错误(通过RAISERROR)而不是返回数据时,有没有办法在SQL Server Reports 2005中显示不同的消息?
这是数据集存储过程的框架代码
create procedure ReportSprocName
@ClientID int,
@Login sysname
as
begin
--; check user's permission through @Login
--; * Pseudo code *
if @Login does not have permission begin
raiserror(@Login does not have permission, 127, 1)
return
end
select id, name, etc...
from someTable
end
GO
我对两种可能的解决方案感兴趣
目前,这是SSRS报告显示的默认消息
答案 0 :(得分:2)
如果用户无权查看报告,您为什么要允许用户触发报告?
要在SSRS报告中显示自定义消息:
提供可见性的表达式>隐藏值(属性窗口)。 IE:
= iif(count(Fields!Application_Number.Value,“YOUR-DATASOURCE-NAME”)> 0,true,false)