SSRS中的存储过程参数加倍

时间:2009-04-24 20:12:27

标签: stored-procedures parameters reportingservices-2005

使用SSRS和SQL 2000源代码,我有一个存储过程,它接受三个参数并返回一个结果集。

我有一个命令类型设置为 StoredProcedure 的数据集,以及查询字符串中的过程名称。

当我尝试在Visual Studio / BIDS中执行该过程时,定义查询参数对话框会显示两次列出的过程中的每个参数。为参数提供值并继续执行too many arguments specified错误。

如何让SSRS识别并将正确数量的参数传递给存储过程?

2 个答案:

答案 0 :(得分:2)

我找到了解决此问题的方法:

  • 将命令类型设置为“文本”
  • 指定程序名称​​和参数:

    EXEC procname @ param1,@ param2,@ param3

“EXEC”指定参数是它工作的要求。参数可以任意命名,只要它们以“@”符号为前缀即可。必须表示所有需要值的参数。当然,如果报表要在内部引用它们或将它们作为用户的参数显示,那么必须在命令文本中表示任何可选参数(在proc中指定的默认值),但不必为参数指定可选参数。 proc运行并返回结果集。

答案 1 :(得分:0)

检查并确保在报告中没有声明额外的参数,如果你确实删除了2个额外参数并确保那些是传递给存储过程的参数。

还要仔细检查并确保您不会在存储过程中意外声明4个参数。