代码之家  ›  专栏  ›  技术社区  ›  andos

在Visual Studio 2012中,SSRS报告日期格式切换到美国

  •  2
  • andos  · 技术社区  · 7 年前

    我们正在使用SSRS 2014,并通过SQL数据工具-BI在Windows 7上的Visual Studio Ultimate 2012中开发报告。在过去的四天里,我们在尝试开发任何具有日期提示的报告时遇到了一个相当恼人的问题。

    当我们转到VS中的报告预览,并从弹出的日历控件中为参数选择一个日期时,它会将日期保存为MM/DD/YYYY格式。这包括多年来在VS中运行良好的现有报告,以及我们尝试添加的新报告。例如:

    • 使用“开始日期”参数预览报告从 日历,例如今天的日期2017年10月23日
    • 是一个en GB格式的无效日期,因此报告将不会运行,我得到 该值对于参数的类型无效的错误
    • 如果我选择了一个有效日期,该日期可以是MM/DD/YYYY或 2017年10月4日在预览文本框中。
    • 然而,如果我重新打开网站,它会将日期解释为4月10日 日历控件来选择另一个日期。

    我们尝试了以下方法:

    • 以en GB格式的报告语言运行,并使用此 空白的
    • 在控制面板中检查了我的位置/键盘设置(这些
      都是英国英语)
    • 从源代码管理中检索报表的旧版本

    如果我将报告部署到测试服务器并在浏览器中运行,则不会出现此问题。 我们现在有点不知所措,欢迎任何帮助!

    2 回复  |  直到 7 年前
        1
  •  0
  •   Wes H    7 年前

    在没有看到所有细节的情况下很难确定,但根据您的描述,听起来您可能在查询中的某个地方进行了到字符串数据类型的中间转换。SQL Server以内部数字格式存储没有格式的日期。它抛出您描述的错误的唯一方式是,如果某个地方发生了字符串转换,并且区域/语言设置在此过程中不匹配。

    您提到报告正在使用日期选择器,因此报告参数已正确配置为日期。在将日期参数传递给sql查询之前,您是否有任何关于日期参数的表达式以某种方式对其进行操作?

        2
  •  0
  •   andos    7 年前