【发布时间】:2009-07-21 16:20:09
【问题描述】:
我正在检查用户是否有权通过数据集存储过程查看报表,如果用户没有,则调用 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
我对两种可能的解决方案感兴趣
- 在 RAISERROR 中显示错误消息
- 在 SSRS 报告本身中显示硬编码的自定义消息
目前这是 SSRS 报告显示的默认消息
【问题讨论】:
-
我找到了解决方法,但我仍然很想知道如何从 SQL Server 报告中捕获 RAISERROR 消息。
标签: sql-server sql-server-2005 reporting-services error-handling