Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

這個問題適用于 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%

Need more help?

Want more options?

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

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

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×