重复参数时,SSRS中的OLE DB连接不喜欢

时间:2019-02-14 16:22:20

标签: oracle reporting-services oledb ssrs-2016

我正在更改基于Oracle的SSRS报告,并且遇到各种参数问题。

与Oracle的连接是OLE DB。

我的代码没有做任何复杂的事情。我只添加了一个新参数。当我只有一个上述参数的实例时,它可以正常运行。一旦我再次添加它,它就会炸弹。

我要执行的操作是在参数匹配的情况下显示记录。如果不匹配,则显示所有记录。

我可以在DBVisualizer中运行两个查询而没有任何问题。

这就是我所做的

WHERE FieldName = nvl(:parameter, FieldName)

此结果与下面的结果不一样

WHERE FieldName = :parameter 
   OR :parameter IS NULL

问题是第二个WHERE子句无法在具有OLE DB连接的SSRS中运行。不幸的是,我们不能使用其他连接管理器。

编辑:感谢Hannover Fist,我能够通过执行此操作使它生效

我将WHERE子句更改为

WHERE FieldName = :parameter
   OR :parameter2 IS NULL

然后映射参数2以从与原始参数相同的SSRS参数中提取

Using 2 parameters in Oracle and mapping them to 1 SSRS

1 个答案:

答案 0 :(得分:1)

我没有找到解决此问题的好方法,但是我通过在Oracle SQL中声明参数并将其映射到SSRS参数来解决此问题。

然后在其余查询中使用在Oracle SQL中创建的参数。这样,您将只使用每个SSRS参数一次。