修正: 報表檢視器 2010年時沒有顯示 DateTime 參數 SSRS 2012 中執行報表

文章翻譯 文章翻譯
文章編號: 2715841 - 檢視此文章適用的產品。
這個問題會適用於 Microsoft SQL Server 2012年報告的服務。
全部展開 | 全部摺疊

在此頁中

徵狀

請考慮下列案例:
  • 您可以建立一個 Windows Form 應用程式或 Windows Presentation Foundation (WPF) 應用程式為基礎的 Microsoft.NET Framework 4.0。
  • 在 Windows Form 或 WPF 應用程式中,您可以使用 Microsoft 報表檢視器 2010年控制項顯示在遠端模式下執行的 Microsoft SQL Server 2012 Reporting Services (SSRS 2012) 報表。
  • 此報告包含有日期時間 具有預設值的型別參數。
  • 您已設定為 [義大利文的地區設定的作業系統上執行應用程式。此外,很長的時間 格式設定為"HH:mm:ss"。
在這個案例中,可能會遇到下列問題之一:
  • 預設值 日期時間 型別參數,不會顯示參數提示區域中。
  • 如果您指派的值 日期時間型別參數,更新到報表之後,報表會呈現,而且不會遺失該值顯示。

發生的原因

使用正確的資訊為基礎的作業系統的地區設定,因為使應用程式的.NET Framework 4.0 及 SSRS 2012 中變更,導致發生這個問題。在.NET Framework 的 4.0 為基礎的應用程式使用所傳回的 Windows 地區設定。不過,SSRS 2012 是建置在.NET Framework 3.5 服務 Pack 1 (SP1) 上。因此,SSRS 2012 使用內嵌在.NET Framework 3.5 SP1 中的地區設定。

當 SSRS 2012 伺服器仍會報告以 「。"符號做為時間分隔符號,日期時間型別參數會傳回到用戶端,做為字串。報表檢視器控制項呼叫DateTimeOffset.TryParse方法,以驗證字串藉由使用":"做為時間分隔符號的符號。因此,字串會驗證為 false,而且不會顯示參數提示區域中。

附註如果設定為 [預設義大利文的地區設定的設定"HH:mm:ss"的完整時間格式,才會發生這個問題。義大利文的地區設定的預設設定是根據您的作業系統而定。此外,您可以藉由變更的完整時間格式來設定您的作業系統的預設設定。

解決方案

累積更新資訊

SQL Server 2012 Service Pack 1 (SP1) 的累積更新 2

若要修正這個問題首次發表累積的更新程式 2] 中。如需有關如何取得此累積更新套件,SQL Server 2012 Service Pack 1 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2790947 SQL Server 2012 Service Pack 1 的累積更新套件 2
附註 因為組建是累計的每個新的修正程式版本會包含所有的 hotfix,所有安全性修正前一筆 SQL Server 2012 Service Pack 1 隨附都修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 Microsoft 知識庫中的文件:
2772858 SQL Server 2012 Service Pack 1 發行之後所發行的 SQL Server 2012年組建

狀況說明

Microsoft 已經確認這是 「 適用於 」 一節中所列的 Microsoft 產品中的問題。


其他可行方案

若要解決這個問題,請使用下列解決方法之一:
  • 設定以符合用戶端上的區域設定的應用程式和作業系統的地區設定。
  • 建立使用者可填入文字的字串輸入的欄位。然後在報表中,將字串轉換成日期。
  • 建立一個看不見或無提示字元的參數,當您執行報表時,會填入 [字串] 輸入欄位。
  • 建立不可見 日期時間型別參數和一個 DateTimePicker 控制項之外的報表檢視器控制項。按一下檢視報告,然後放置到的字串值日期時間 型別中的參數 SubmittingParameterValues 事件處理常式。

其他相關資訊

Microsoft 報表檢視器 2010 SP1 可轉散發的套件是可以從下列 Microsoft 下載中心 」 網站下載:

Microsoft 報表檢視器 2010 SP1 的可轉散發套件
若要深入了解DateTimeOffset.TryParseExact方法和DateTimeOffset.TryParse方法,請造訪下列 MSDN 網站:

DateTimeOffset.TryParseExact 方法 (字串、 字串、 IFormatProvider、 DateTimeStyles、 DateTimeOffset %)

DateTimeOffset.TryParse 方法 (字串 DateTimeOffset %)

屬性

文章編號: 2715841 - 上次校閱: 2013年1月24日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2012 Service Pack 1
關鍵字:?
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2715841 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:2715841
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com