2011-12-06 37 views
0

我在「自定義代碼」下面的代碼在SSRS 2008年它工作正常,在VS2008,但它不會在服務器上運行:自定義代碼在Reporting Services 2008年使電池展#錯誤

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。我究竟做錯了什麼?

回答

0

Reporting Services 2008(NOT R2)根據從數據庫中讀取的內容返回不同的類型。 (請參閱Here以獲得很好的解釋)。如果你像上面那樣返回一個Sub對象,那麼SSRS 2008中的SUM()函數就會混亂起來,因爲你可能會求和不同的類型。這就是我所做的一切在我的細胞之一,在SSRS:

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

雖然這在SSRS 2008 R2的工作(在我的測試機),它不工作於2008年SSRS沒有R2(我的生產機器)。

相關問題