偶然发现一个晦涩的问题。发布此消息是因为我的堆栈溢出搜索未找到我的答案。希望这会帮助其他人。
问题:我的报告服务报告将编译,但在运行时会出现以下错误:
[BC30456]“ RdlObjectModel”不是“ Reporting Services”的成员
这是在我将整个Tablix从一个报表复制/粘贴到另一个报表之后发生的。
当我撤消更改并删除了Tablix之后,它又恢复了工作。
带有我要复制/粘贴的tablix的原始报告工作正常。
找到此错误报告,该报告准确地解释了我遇到的问题:
上面的摘要:当您将Reporting Services表达式从一个位置复制/粘贴到另一个位置时(我复制了一个带有表达式的整个tablix),该表达式的所有部分都会扩展为它们的全名。当您复制/粘贴包含“ Cstr()”的表达式时,存在一个特定的错误。它得到一个不能正确解析的全名。
幸运的是,即使您的报告中有大量此类表达式,也很容易解决。-转到“查看”>“代码”查找“ RdlObjectModel”或“ Cstr”。您正在寻找这样的东西:
Microsoft.ReportingServices.RdlObjectModel.ExpressionParser.VBFunctions.Cstr([your expression here])
-将所有内容从“ Microsoft”删除到“ Cstr”,如下所示:
Cstr([your expression here])
-救。当您首先复制/粘贴该表达式时,您实际上已经撤消了Reporting Services如此“有帮助”地尝试执行的操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句