【问题标题】:SSRS MySQL Multi-Value ParametersSSRS MySQL 多值参数
【发布时间】:2021-01-15 01:40:03
【问题描述】:

我正在尝试在 MySQL 中使用 SSRS 中的多值参数,但在为参数选择多个值时收到奇怪的结果。

参数属性

  • 名称:参数1
  • 数据类型:整数(我试过“文本”但对输出没有影响)
  • 已选择“允许多个值”
  • 可用值:(标签:1,值:1)和(标签:2,值:2)

数据集属性

  • 查询类型:文本
  • 查询:select column1 from table1 where id IN (?)
  • 参数名称:?
  • 参数值:=Join(Parameters!parameter1.Value, ",")

结果:

  • 选择单个值时:select column1 from table1 where id IN ('1')
  • 选择多个值时:select column1 from table1 where id IN ('1,3')

运行时间:

  • Windows 10 专业版 (1909 - 18363.1316)
  • MySQL 社区服务器 (8.0.22)
  • MySQL ODBC 连接器 (8.0.22) - 使用 Unicode 驱动程序配置
  • Visual Studio 2019 (16.8.3)
  • 报告服务项目 (2.6.7)

观察:

  • 参数是整数,为什么发送的值是字符串?
  • 当它应该是 '1','3'1,3 时生成多值 '1,3'

关于如何解决奇怪的多值行为有什么建议吗?

【问题讨论】:

    标签: mysql reporting-services


    【解决方案1】:

    保持现在的参数属性。

    尝试在您的数据集属性:查询 > select column1 from table1 where id IN (@parameter1) 中使用它并删除参数值表达式。

    【讨论】:

    • 由于使用 ODBC 连接器,我相信它必须是“从表 1 中选择 id IN (?) 的列 1”。简单地采用@parameter1 会产生一个“无法为数据集'DataSet1' 添加多值查询参数'@parameter1',因为数据扩展不支持它。查看生成的SQL,它几乎就像SSRS 或MySQL ODBC 连接器一样转义多值参数。
    猜你喜欢
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 2016-08-01
    • 2019-02-03
    • 1970-01-01
    相关资源
    最近更新 更多