【问题标题】:SSRS 2008 passing multiple parameters Oracle 10g backendSSRS 2008 传递多个参数 Oracle 10g 后端
【发布时间】:2011-06-28 16:24:41
【问题描述】:

在使用 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 数据库?

提前致谢。 乔

【问题讨论】:

    标签: ssrs-2008 reporting-services ora-01722


    【解决方案1】:

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

    Select * from Table WHERE column1 in (:CommaSeparatedListOfValues)

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

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

    【讨论】:

    • 正确。 db 中 Vendor_id 的值是整数。感谢您的答复。我将在这里审查并发布后续信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多