1

在使用 Cognos 几年后,我们正在测试将 Cognos 报告 (8.3) 转换为 SSRS 2008 报告。我们使用 Oracle 数据库版本 10g。在我们的许多报告中,我们正在转换我们在参数中传递多个值,但是我无法在指向 Oracle 数据源的 SSRS 中让它工作。

我创建了参数并将其设置为允许多个值。这些列是整数类型。例如,SQL 过滤器设置如下,其中 vendor_id IN (:Vendor_id)。然而,当我测试 SQL 时,我得到了错误。我以逗号分隔输入参数值,例如102、105、107。错误如下。

ORA-01722: 无效号码

我已经尝试将值用单引号、双引号括起来,结果相同。是否有不同的格式来满足 oracle 语法要求?多个值是否仅适用于 SQL Server 数据库?

提前致谢。乔

4

1 回答 1

0

正如这篇文章所指出的,多值参数被连接起来并使用如下:

Select * from Table WHERE column1 in (:CommaSeparatedListOfValues)

http://consultingblogs.emc.com/stevewright/archive/2009/08/14/14763.aspx

所以 Vendor_id 必须是 Varchar2。我猜你有 Vendor_id 作为整数的数据类型?

于 2011-02-24T15:39:08.117 回答