使用SSRS和SQL 2000源代码,我有一个存储过程,它接受三个参数并返回一个结果集。
我有一个命令类型设置为 StoredProcedure 的数据集,以及查询字符串中的过程名称。
当我尝试在Visual Studio / BIDS中执行该过程时,定义查询参数对话框会显示两次列出的过程中的每个参数。为参数提供值并继续执行too many arguments specified
错误。
如何让SSRS识别并将正确数量的参数传递给存储过程?
答案 0 :(得分:2)
我找到了解决此问题的方法:
指定程序名称和参数:
EXEC procname @ param1,@ param2,@ param3
“EXEC”和指定参数是它工作的要求。参数可以任意命名,只要它们以“@”符号为前缀即可。必须表示所有需要值的参数。当然,如果报表要在内部引用它们或将它们作为用户的参数显示,那么必须在命令文本中表示任何可选参数(在proc中指定的默认值),但不必为参数指定可选参数。 proc运行并返回结果集。
答案 1 :(得分:0)
检查并确保在报告中没有声明额外的参数,如果你确实删除了2个额外参数并确保那些是传递给存储过程的参数。
还要仔细检查并确保您不会在存储过程中意外声明4个参数。