簡體   English   中英

在Visual Studio 2012中將SSRS報告日期格式切換為美國

[英]SSRS Report Date Format Switching to US in Visual Studio 2012

我們正在使用SSRS 2014並通過SQL數據工具-Windows 7上的Visual Studio Ultimate 2012中的BI開發報表。在過去四天中,當嘗試開發具有日期提示的報表時,我們遇到了一個非常煩人的問題。

當我們轉到VS中的報表預覽時,然后從彈出的日歷控件中為該參數選擇一個日期,然后以MM / DD / YYYY格式保存該日期。 這包括在VS中運行良好多年的現有報告,以及我們嘗試添加的新報告。 例如:

  • 使用“開始日期”參數預覽報告從日歷中選擇日期,例如今天的日期2017年10月23日
  • 當關閉日期提示時,它將日期保存為10/23/2017,這是en-GB格式的無效日期,因此該報表將無法運行,並且我收到一個錯誤,指出該值對於參數的類型無效
  • 如果我選擇的日期可能是MM / DD / YYYY或DD / MM / YYYY格式,例如2017年10月4日,它將在預覽文本框中保存為04/10/2017。
  • 但是,如果我重新打開日歷控件以選擇另一個日期,它將日期解釋為4月10日。

我們嘗試了以下方法:

  • 以報告語言作為en-GB運行,並以此空白運行
  • 在控制面板中檢查了我的位置/鍵盤設置(這些
    都是英國英語)
  • 從源代碼管理中檢索舊版本的報告

如果我將報告部署到我們的測試服務器並在瀏覽器中運行,則不會發生此問題。 我們現在有點想法了,歡迎任何幫助!

在沒有看到所有詳細信息的情況下很難確定它,但是根據您的描述,聽起來您可能在查詢中某處將中間數據轉換為字符串數據類型。 SQL Server以內部數字格式存儲不帶格式的日期。 引發您所描述的錯誤的唯一方法是,如果某處發生了字符串轉換,並且在此過程中區域/語言設置不匹配。

您提到報告正在使用日期選擇器,因此將report參數正確配置為日期。 在傳遞給sql查詢之前,date參數上是否存在以某種方式操縱它的表達式?

經過與Microsoft的大量討論,解決方案是升級到Visual Studio 2015的數據工具。此版本不受此問題的影響。 工作原理與.Net 2012所使用的版本有關,但老實說,我們再也沒有進一步的了解!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM