SSRS 报告日期格式在 Visual Studio 2012 年切换为美国
SSRS Report Date Format Switching to US in Visual Studio 2012
我们正在使用 SSRS 2014 并通过 SQL Data Tools - BI 在 Visual Studio Ultimate 2012 on Windows 7 中开发报告。在过去的四天里,我们遇到了一个相当烦人的问题尝试开发任何具有日期提示的报告时出现问题。
当我们在 VS 中进行报表预览时,select 弹出日历控件中参数的日期,它以 MM/DD/YYYY 格式保存日期。这包括多年来在 VS 中运行良好的现有报告,以及我们尝试添加的新报告。例如:
- 使用 "start date" 参数 Select 日期的预览报告
日历例如今天是 2017 年 10 月 23 日
- 当它关闭日期提示时,它会将日期保存为 10/23/2017
是 en-GB 格式的无效日期,因此报告不会 运行 我得到
该值对于参数类型
无效的错误
- 如果我 select 一个在 MM/DD/YYYY 或
DD/MM/YYYY格式,如4th October 2017,则另存为
04/10/2017 在预览文本框中。
- 但是,如果我重新打开
日历控件到 select 另一个日期。
我们尝试了以下方法:
- 运行 报告语言为 en-GB,运行 这
空白
- 在控制面板中检查了我的位置/键盘设置(这些
都是英国英语)
- 正在从源代码管理中检索旧版本的报告
如果我将报告部署到我们的测试服务器并且 运行 在浏览器中,则不会出现此问题。
我们现在有点想法,欢迎任何帮助!
如果不查看所有详细信息很难确定,但根据您的描述,听起来您可能在查询中的某处对字符串数据类型进行了中间转换。 SQL 服务器以内部数字格式存储没有格式的日期。它会抛出您所描述的错误的唯一方法是,如果某处发生了字符串转换并且 regional/language 设置在此过程中不匹配。
您提到报告正在使用日期选择器,因此报告参数已正确配置为日期。在将日期参数传递给 sql 查询之前,您是否有任何以某种方式对其进行操作的表达式?
与 Microsoft 多次讨论后,解决方案是升级到 Visual Studio 2015 的数据工具。此版本不受此问题的影响。工作理论与使用的 .Net 2012 版本有关,但老实说,我们没有进一步了解!
我们正在使用 SSRS 2014 并通过 SQL Data Tools - BI 在 Visual Studio Ultimate 2012 on Windows 7 中开发报告。在过去的四天里,我们遇到了一个相当烦人的问题尝试开发任何具有日期提示的报告时出现问题。
当我们在 VS 中进行报表预览时,select 弹出日历控件中参数的日期,它以 MM/DD/YYYY 格式保存日期。这包括多年来在 VS 中运行良好的现有报告,以及我们尝试添加的新报告。例如:
- 使用 "start date" 参数 Select 日期的预览报告 日历例如今天是 2017 年 10 月 23 日
- 当它关闭日期提示时,它会将日期保存为 10/23/2017 是 en-GB 格式的无效日期,因此报告不会 运行 我得到 该值对于参数类型 无效的错误
- 如果我 select 一个在 MM/DD/YYYY 或 DD/MM/YYYY格式,如4th October 2017,则另存为 04/10/2017 在预览文本框中。
- 但是,如果我重新打开 日历控件到 select 另一个日期。
我们尝试了以下方法:
- 运行 报告语言为 en-GB,运行 这 空白
- 在控制面板中检查了我的位置/键盘设置(这些
都是英国英语) - 正在从源代码管理中检索旧版本的报告
如果我将报告部署到我们的测试服务器并且 运行 在浏览器中,则不会出现此问题。 我们现在有点想法,欢迎任何帮助!
如果不查看所有详细信息很难确定,但根据您的描述,听起来您可能在查询中的某处对字符串数据类型进行了中间转换。 SQL 服务器以内部数字格式存储没有格式的日期。它会抛出您所描述的错误的唯一方法是,如果某处发生了字符串转换并且 regional/language 设置在此过程中不匹配。
您提到报告正在使用日期选择器,因此报告参数已正确配置为日期。在将日期参数传递给 sql 查询之前,您是否有任何以某种方式对其进行操作的表达式?
与 Microsoft 多次讨论后,解决方案是升级到 Visual Studio 2015 的数据工具。此版本不受此问题的影响。工作理论与使用的 .Net 2012 版本有关,但老实说,我们没有进一步了解!