【问题标题】:How to choose multiple values for parameter in ssrs2008如何在 ssrs2008 中为参数选择多个值
【发布时间】:2011-11-24 23:50:24
【问题描述】:

我已经询问了 2008 年 ssrs 数据库的下拉菜单 .. 而我所做的是... 刚刚创建了参数 (@Database) 并更改了 DataSource 的连接字符串,例如 [="Data Source=servername;Initial Catalog="+Parameters!Database.Value]

当我一次只选择一个数据库时,这可以正常工作。但是当我选择多个数据库时我遇到了问题。它给了我错误。 [报告处理过程中出现错误]

有人可以帮助我吗?

谢谢

【问题讨论】:

  • 在 SO 上提问时不要使用 textspeak(例如“some1”)。

标签: ssrs-2008 reporting-services


【解决方案1】:

您不能从参数指定的数据库中选择参数具有多个值的情况。这是因为您的查询仅包含一个 select 语句 - 在尝试合并来自多个数据库的结果时,您需要将多个选择合并在一起。

我建议您取消选中从数据库参数中选择多个值的选项。

如果您绝对能够从单个参数指定的多个数据库中进行选择,那么您将需要像这样重写您的查询:

select 'DB1' DBName, C1, C2, C3 from DB1.T1 inner join DB1.T2 on T1.C4 = T2.C4
where 'DB1' in (@SelectedDatabase) UNION ALL
select 'DB2' DBName, C1, C2, C3 from DB2.T1 inner join DB2.T2 on T1.C4 = T2.C4
where 'DB2' in (@SelectedDatabase) UNION ALL

...

您需要在每个 SELECT 子句中硬编码要选择的每个数据库的名称,并且需要为每个可能被选择的数据库设置一个 select 子句。

【讨论】:

  • 那么连接字符串会是什么。相同或不同
  • 如果您要删除从参数中选择多个值的选项,则连接字符串应与现在保持相同。如果您要在参数中保留选择多个值的选项,请设置连接属性,以便连接的用户可以从任何可选数据库中进行选择。
  • 我必须使用多个值。我完全按照你说的做了。我修改了查询。对数据库进行硬编码。现在我可以选择多个值,但如果我选择 2 个数据库,我只能从一个数据库中获得结果。如果我选择 3 个数据库,我会从所有三个数据库中获取记录,但不是所有记录。
  • 连接字符串有没有问题。
  • 问题不应该是连接字符串。您能否将修改后的查询连同数据库名称一起复制并粘贴到您的问题中?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多