【发布时间】:2019-08-04 05:51:40
【问题描述】:
之前我的客户使用 SSRS 2008R2 和 Oracle 作为事务数据库。最近他们已升级到 SSRS 2017,现在许多报告都抛出以下错误:
错误:投掷 Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException: [异常终止:报告处理], Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException: 报告处理过程中发生错误。 ---> Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: 数据集“Ds_Main”的查询执行失败。 ---> Oracle.ManagedDataAccess.Client.OracleException: ORA-01830: 日期 格式图片在转换整个输入字符串之前结束
在仔细查看报告查询后,我注意到此错误适用于所有使用 oracle 函数 TO_DATE(<Date Value>) 且未使用日期格式的报告。例如:
To_date(:Date_Parameter) -> this syntax throws above mentioned error
To_Date(:Date_Parameter,’MM/DD/YYYY’) -> this syntax works perfectly
我愿意知道:
- SSRS 2017 与 SSRS 2008 R2 发生了哪些变化导致此问题,因为相同的报告在 SSRS 2008 R2 中按预期工作,并且在 SSRS 2017 中抛出了上述错误。
- 是否有任何建议可以在不更新大量报告的情况下解决此问题?
【问题讨论】:
-
报告是否都调用了一个存储过程,您可以在其中更新日期的格式,然后再传递给报告?或者您是否在每个报告中设置了查询?据我所知,您可能有一些不符合默认日期格式的数据。理想情况下,您不会依赖如此广泛的隐式转换。
-
所有报告仅在报告中使用嵌入式 Oracle plsql 查询
-
@Aftab 在您提到的
Any suggestion to fix this issue without updating bunch of reports的问题中,在阅读了您的 cmets 在下面的答案之后,看起来问题已更改为I am willing to know what has changed in SSRS2017 vs SSRS2008R2 that is causing this issue because same reports are working as expected in SSRS2008R2。请更新您的问题以更具体地了解您要查找的内容。因为我认为没有比答案中提到的更多的解决方法。 -
@Aftab 我认为 yahfoufi 的意思是您应该添加新问题而不是删除旧问题。由于您在收到答案后无法更改问题。我修好了
-
@Aftab 我虽然很难决定接受哪个答案。由于您得到了 2 个有用的答案,并且每个答案都针对您的问题的一部分。最后,一位用户将获得赏金。祝你好运
标签: sql-server oracle reporting-services ssrs-2008-r2 ssrs-2017