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

时间:2017-10-23 13:00:24

标签: sql-server visual-studio-2012 reporting-services sql-server-2014

我们正在使用SSRS 2014并在Windows 7上的Visual Studio Ultimate 2012中通过SQL数据工具 - 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运行,并以此身份运行 空白
  • 在控制面板中检查我的位置/键盘设置(这些
    都是英国英语)
  • 从源代码管理中检索旧版本的报告

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

2 个答案:

答案 0 :(得分:0)

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

您提到报告正在使用日期选择器,因此报告参数已正确配置为日期。在将参数传递给sql查询之前,你是否在日期参数上以某种方式操作它?

答案 1 :(得分:0)

经过与Microsoft的多次讨论后,解决方案是升级到Visual Studio 2015的数据工具。此版本不受此问题的影响。工作理论与.Net 2012使用的版本有关,但说实话,我们再也没有了!