【发布时间】:2019-11-05 19:10:49
【问题描述】:
我正在使用 Visual Studio 2010 SSRS。我有一个 Oracle 选择查询,它在我的报告数据集中作为一个查询编写时工作,但我需要它作为一个表达式工作,以便我可以采用动态过滤条件。
表达式最终看起来像这样,我无法发布查询,因为它可能包含我工作的公司的机密信息。
= "
[Query]
where "
+FORMAT(replace(Parameters!where.Value,":00.000",":00")) + "
[Order By Clause] "
尝试生成此报告的预览会出现以下错误:
本地报告处理过程中发生错误。有一个错误 在报告处理期间发生。数据集的查询执行失败 'ds_Main'。 ORA-00923: 在预期的地方找不到 FROM 关键字
如果有人能帮助解决这个问题,我们将不胜感激。
【问题讨论】:
-
像往常一样,很难调试你看不到的查询。我不知道出了什么问题,但是 - 错误表示您的查询看起来像
select ename emp或select ename where deptno = 10或select replace('05.11.2019 20:00:00.000', ':00.000', ':00') dual或谁知道。基本上,在 Oracle 预期的位置找不到from。您必须对其进行一些调试。 -
对于它的价值,您可能不需要首先求助于动态 SQL,它们很难维护。您可以参考以下参数:WHERE MY_COL = :MyParam。如果您使用日期,则可能需要在其周围包装一个 TO_DATE 函数。除此之外的任何事情都可能过于复杂。
标签: sql oracle visual-studio-2010 reporting-services