我正在运行包含3个参数的报告。第二个参数根据First参数中选择的值填充,第三个参数根据第二个参数填充。
我可以在第二和第三参数中选择多个值。
当我在第二个参数中选择2个值时,第三个值会被填充,当我执行SELECT ALL时,它会起作用。
但是当我选择3个或更多值时会抛出错误。
本地报告期间出现错误 无法读取数据集'Dataset3'的下一个数据行,
时转换失败
将varchar值'430.2'转换为数据类型int
你能否告诉我我的方法应该是什么。
答案 0 :(得分:3)
你能否告诉我我的方法应该是什么。
问题在于数据和数据集查询。您应该运行数据集2后面的查询,并确定3个值开始给您带来麻烦。检查这些值是否实际上是正确的数据类型(参数类型)。很可能其中一个值是“430.2”,而参数的类型是INT。
如果这不起作用,那么您应该在数据集3后面执行查询,以便WHERE myval IN (@Param3)
位中的参数替换为您使用先前查询检索的值的逗号分隔列表。 / p>
如果这两者都没有出现,那么下一步可能是运行SQL事件探查器并获取SSRS发送给服务器的实际查询。选择那些查询,并尝试手动运行它们来调试问题。
您可能想要检查的另一件事是,数据集的字段映射设置是否与数据集查询实际返回的类型匹配。