小编Bri*_*ian的帖子

如何在SSRS 2008中压制空子报表

我正在SSRS 2008中创建一个"主"报告,该报告与其他人的报告进行协作.有时并非所有其他报告都是相关的,因此没有任何回报.我希望能够从主报告中排除这一点,因此它不会留下空白页面.

我知道'no-rows-message'功能,但整个页面只是"不适合这个人"并不是最好的解决方案!

基本上我正在寻找一种方法来确定子报表是否为"空"并在可见性表达式中使用它.

任何帮助都非常感谢

visibility subreport reporting-services ssrs-2008

7
推荐指数
1
解决办法
2万
查看次数

SSRS '08 System.Security.Permissions.SecurityPermission 错误

我从 Business Intelligence Development Studio (Visual Studio 2008) 收到了一个相当令人沮丧的错误。我有一个包含 4 个子报告的报告,这些子报告可能包含也可能不包含数据,因此它们的 HIDDEN 属性由表达式控制:

=IIF(ReportItems![SOME TEXT BOX].Value = 0, TRUE, FALSE)
Run Code Online (Sandbox Code Playgroud)

[SOME TEXT BOX] 的内容是存储过程为其各自子报表返回的行数,因此如果值为 0,则包含子报表的矩形设置为 HIDDEN = TRUE。

这适用于 4 个子报告中的 3 个,但由于某种原因,其中一个导致此错误:

[RECTANGLE CONTAINING SUB-REPORT] 的隐藏表达式包含错误:
请求类型为“System.Security.Permissions.SecurityPermission、mscorlib、Version=2.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089”的权限失败

一些谷歌搜索显示,这(显然)与访问权限有关,但大多数人似乎遇到了与 MS Sharepoint 相关的错误,并且解决方案似乎并不适用。

非常感激任何的帮助!

布赖恩

编辑:这只发生在 'ReportItems![SOME TEXT BOX].Value = 0' 返回 TRUE,即没有行时。

permissions visual-studio-2008 reporting-services

5
推荐指数
1
解决办法
5303
查看次数

从存储过程返回错误消息

这个问题应该很简单,但我无法弄清楚答案,也不知道为什么我的存储过程不起作用.

CREATE PROCEDURE spTest_Delete
@ID int
AS
    begin tran
        declare @err int
        declare @errMesage nvarchar(max)
        set @errMesage = ''
        set @err = 0

        delete from Test
        where ID = @ID

        set @err = @@ERROR
        set @errMesage = ERROR_MESSAGE()

        if @err = 0 
           commit tran
        else 
        begin
            RAISERROR(N'Could not delete !Error nr: %d. Message: %s', 1, 16, @err, @errMesage)
            rollback tran
        end
Run Code Online (Sandbox Code Playgroud)

这个过程运行正常,但是如果对delete语句有FK约束,它会遇到错误(这很好),我想抓住错误.

消息547,级别16,状态0,过程spTest_Delete,第12行
DELETE语句与REFERENCE约束"FK_TEstFK_Test"冲突.冲突发生在数据库"Test",表"dbo.Test",列"ID"中.该语句已终止.

无法删除!
错误号:547.消息:(null)消息50000,级别1,状态16

我的消息变量总是为null,即使该delete语句引发错误.

sql-server stored-procedures sql-server-2012

3
推荐指数
2
解决办法
3万
查看次数