无法读取数据集'Dataset3'的下一个数据行,将varchar值转换为datatype时转换失败

时间:2012-11-01 15:53:40

标签: ssrs-2008 reporting-services ssrs-tablix

我正在运行包含3个参数的报告。第二个参数根据First参数中选择的值填充,第三个参数根据第二个参数填充。

我可以在第二和第三参数中选择多个值。

当我在第二个参数中选择2个值时,第三个值会被填充,当我执行SELECT ALL时,它会起作用。

但是当我选择3个或更多值时会抛出错误。

  

本地报告期间出现错误   无法读取数据集'Dataset3'的下一个数据行,
  将varchar值'430.2'转换为数据类型int

时转换失败

你能否告诉我我的方法应该是什么。

1 个答案:

答案 0 :(得分:3)

  

你能否告诉我我的方法应该是什么。

问题在于数据和数据集查询。您应该运行数据集2后面的查询,并确定3个值开始给您带来麻烦。检查这些值是否实际上是正确的数据类型(参数类型)。很可能其中一个值是“430.2”,而参数的类型是INT。

如果这不起作用,那么您应该在数据集3后面执行查询,以便WHERE myval IN (@Param3)位中的参数替换为您使用先前查询检索的值的逗号分隔列表。 / p>

如果这两者都没有出现,那么下一步可能是运行SQL事件探查器并获取SSRS发送给服务器的实际查询。选择那些查询,并尝试手动运行它们来调试问题。

您可能想要检查的另一件事是,数据集的字段映射设置是否与数据集查询实际返回的类型匹配。