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 参数一次。
我正在更改基于 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 参数一次。