2009-07-08 46 views
2

從商業智能開發工作室(Visual Studio 2008),我得到一個相當令人沮喪的錯誤。我有一個包含4個子報告的報告,這些子報告可以或可以不包含數據,因此它們的隱藏屬性由表達式來控制:SSRS '08 System.Security.Permissions.SecurityPermission錯誤

=IIF(ReportItems![SOME TEXT BOX].Value = 0, TRUE, FALSE) 

的內容[SOME文本框]是存儲過程爲其各自的子報表返回的行數,因此如果值爲0,則包含子報表的矩形將設置爲HIDDEN = TRUE。

此工程的4個子報告3,但由於某些原因,其中一個原因這個錯誤:

The hidden expression for [RECTANGLE CONTAINING SUB-REPORT] contains an error: 
Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, 
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed 

一些谷歌搜索顯示,這是(顯然)具有訪問權限的事,但大多數人似乎都遇到了與MS Sharepoint相關的錯誤,並且這些解決方案似乎不適用。

任何幫助將不勝感激!

布賴恩

編輯:當 '!ReportItems [SOME文本框]。價值= 0' 返回TRUE,即沒有行這隻發生。

+0

因爲有人跑到這篇文章尋找: 請求類型'System.Security.Permissions.SecurityPermission ....'的權限錯誤我遇到這種情況時,將一個隱藏的值放在一個組中,如下所示: = iif(lookup(Fields!scopedIntField.Value,UnScopedStrField.Value,UnScopedOtherStrField。值,「UnScopedDataSet」)=「」,真,假)問題是,我不得不將Int值轉換爲一個字符串,所以這個表達式修復了這個問題: = iif(lookup(CStr(Fields!scopedIntField.Value)), UnScopedStrField.Value,UnScopedOtherStrField.Value,「UnScopedDataSet」)=「」,true,false)奇怪的是,它 – TGN12 2017-06-30 08:01:49

回答

3

好的,所以我找到了真實這個問題的原因;微軟和他們無用的錯誤信息!但嚴重的是我得到這個錯誤,因爲我傳遞一個NULL值。

假設你讀過我最初的問題,這是得到了NULL用於填充[有些文本框]的一個數據集,但NULL並沒有在填充[有些文本框]字段。有一點在房子周圍,但我最終到了那裏!

0

所以我找到了一個半解決方案:我去了報表管理器的URL,然後到網站設置,然後安全,並添加了一個新的角色分配與我們的域的所有成員的完全訪問權限。按:

http://msdn.microsoft.com/en-us/library/aa337385.aspx

這使得該報告在部署Web應用程序的工作,但BIDS仍無法運行報告。嘿,至少客戶可以使用它,我可以通過報告管理器進行測試。

0

我發現很真正問題原因,當你遷移你的代碼的.NET Framework 4.0〜4.5:權限 !!。現在,默認情況下,ReportViewer中的權限受到更多限制。

要解決。在您的代碼中執行以下操作。

當實例化報表查看器,設置不受限制的模式:

  var myReport = new ReportViewer(); 

      System.Security.PermissionSet permissionReport = new System.Security.PermissionSet(System.Security.Permissions.PermissionState.Unrestricted); 

      myReport.LocalReport.SetBasePermissionsForSandboxAppDomain(permissionReport); 

而做!

+0

但我沒有將.NET代碼從4.0遷移到4.5,沒有涉及.NET代碼的問題,它完全是SQL'08和SSRS。 – Brian 2013-04-30 10:46:35