【问题标题】:Custom Code in Reporting Services 2008 makes cell show #ErrorReporting Services 2008 中的自定义代码使单元格显示 #Error
【发布时间】:2011-12-06 16:05:06
【问题描述】:

我在 SSRS 2008 的“自定义代码”中有以下代码。它在 VS2008 中运行良好,但无法在服务器上运行:

Public Shared Function Ns(ByVal num as Object, ByVal def as Object) as Object
  if IsNothing(num) OrElse Not IsNumeric(num) OrElse System.Double.IsNaN(num) then 
      return def
  else  
      return num
  end if
End Function

我在 SSRS 2008 的字段中将其称为“Code.Ns(..., ...)”。在 VS2008 的渲染器中,它似乎执行得很好。当我尝试使用自定义 .NET 应用程序以编程方式呈现它时,报告会呈现除自定义代码部分之外的所有字段:#Error。我做错了什么?

【问题讨论】:

    标签: .net vb.net reporting-services ssrs-2008


    【解决方案1】:

    Reporting Services 2008 (NOT R2) 根据从数据库中读取的内容返回不同的类型。 (请参阅Here 以获得很好的解释)。如果您像我在上面所做的那样从子对象返回一个对象,那么 SSRS 2008 中的 SUM() 函数就会搞砸,因为您可能正在对不同的类型求和。这就是我在 SSRS 的一个牢房中所做的事情:

    Sum(Ns(<some database field>, 0)
    

    虽然这可以在 SSRS 2008 R2(在我的测试机器上)上运行,但它不能在没有 R2(我的生产机器)的 SSRS 2008 上运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多