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

OLE DB connection in SSRS doesn't like when parameters are repeated

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

与 Oracle 的连接是 OLE DB。

我的代码没有做任何复杂的事情。我只添加了一个新参数。当我只有一个所述参数的实例时,它 运行s 没有任何问题。我一加就炸了

我想做的是在参数匹配时显示记录。如果没有匹配,显示所有记录。

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

这就是我所做的

WHERE FieldName = nvl(:parameter, FieldName)

这个 return 与下面的

结果不同
WHERE FieldName = :parameter 
   OR :parameter IS NULL

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

编辑:多亏了汉诺威拳头,我才能够通过这样做来实现它

我将 WHERE 子句更改为

WHERE FieldName = :parameter
   OR :parameter2 IS NULL

然后将parameter2映射到与原始参数相同的SSRS参数中拉取

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

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