使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

這個問題適用于 Microsoft SQL Server 2012 Reporting Services。

徵狀

請試想下列案例:

  • 您可以建立以 Microsoft .NET Framework 4.0 為基礎的 Windows Forms 應用程式或 Windows Presentation Foundation (WPF)應用程式。

  • 在 Windows 表單或 WPF 應用程式中,您使用 Microsoft 報表檢視器2010控制項來顯示 Microsoft SQL Server 2012 Reporting Services (SSRS 2012)報告,該報告是在遠端模式下執行。

  • 報告包含具有預設值的DateTime 類型參數。

  • 您在已將 [地區設定] 設定為 [義大利] 的作業系統上執行應用程式。 此外,長時間 格式會設定為 "HH: mm: ss"。

在這種情況下,您可能會遇到下列其中一種問題:

  • [ DateTime 類型] 參數的預設值不會顯示在參數提示區域中。

  • 如果您將值指派給 DateTime類型參數並更新報表,則會在呈現報表後遺失此值,且不會顯示。

原因

之所以會發生這個問題,是因為 .NET Framework 4.0 中有一個變更,可防止應用程式和 SSRS 2012 根據作業系統的地區設定使用正確的資訊。 以 .NET Framework 4.0 為基礎的應用程式使用 Windows 傳回的區域設定。 不過,SSRS 2012 是以 .NET Framework 3.5 Service Pack 1 (SP1)為基礎。 因此,SSRS 2012 使用內嵌在 .NET Framework 3.5 SP1 中的區域設定。當 SSRS 2012 伺服器使用 "." 符號作為時間分隔符號執行報表時, DateTime 類型參數會以字串形式傳回用戶端。 報表檢視器控制項會呼叫 DateTimeOffset TryParse 方法,以使用 ":" 符號作為時間分隔符號來驗證字串。 因此,字串會驗證為 false,且不會顯示在參數提示區域中。注意只有在 [ 長時間 格式] 設定為 "HH: mm: ss" 時,義大利地區設定的預設設定才會發生此問題。 義大利地區設定的預設設定會視您的作業系統而定。 此外,您可以變更 [長時間 格式] 來設定作業系統的預設設定。

解決方案

累積更新資訊

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

此問題的修正程式是在累積更新2中第一次發行。如需有關如何取得適用于 SQL Server 2012 Service Pack 1 的累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2790947 SQL Server 2012 的累積更新套件 2 Service Pack 1注意: 因為組建是累加的,所以每個新的修正版本都包含舊版 SQL Server 2012 Service Pack 1 的修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2772858 在發行 SQL Server 2012 Service Pack 1 之後發行的 SQL Server 2012 組建

狀態

Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。

因應措施

若要解決此問題,請使用下列其中一種解決方法:

  • 設定應用程式與作業系統的地區設定,以符合用戶端上的區域設定。

  • 建立供使用者填入文字的字串輸入欄位。 然後在報表中,將字串轉換為日期。

  • 在執行報表時,建立從字串輸入欄位填入的隱藏或無提示參數。

  • 在報表檢視器控制項外建立不可見的 DateTime類型參數和 DateTimePicker 控制項。 按一下 [查看報表],然後將字串值放入SubmittingParameterValues事件處理常式中的DateTime類型參數。

其他相關資訊

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

Microsoft 報表檢視器 2010 SP1 可轉散發元件套件若要深入瞭解 TryParseExact 方法與 datetimeoffset TryParse 方法,請造訪下列 MSDN 網站:

TryParseExact 方法(String、string、IFormatProvider、DateTimeStyles、datetimeoffset%、、datetimeoffset%Datetimeoffset. TryParse 方法(string,datetimeoffset%

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×