无法读取数据集"Dataset3"的下一个数据行,将 varchar 值转换为数据类型 int 时转换失败



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

i可以在第二个参数和第3个参数中选择多个值。

当我在第二个参数中选择2个值时,第三个参数被填充,当我选择全部时,它也可以。

但是,当我选择3个或更多值时,它会引发错误。

在本地报告期间发生错误
无法读取数据集" DataSet3"的下一个数据行,
将VARCHAR值'430.2'转换为DataType INT

时转换失败

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

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

问题与数据和数据集查询有关。您应该运行数据集2后面的查询,并确定3个值开始给您带来麻烦的值。检查这些值实际上是正确的数据类型(参数的类型)。很有可能的值是" 430.2",而您的参数类型为int。

如果那不起作用,则应在数据集3后面执行查询,以便WHERE myval IN (@Param3)位中的参数被您在较早的查询中检索到的值的逗号分隔列表替换。

如果两者都什么都没出现,那么下一步可能是运行SQL Profiler并拾取实际查询SSRS发送到服务器的实际查询。挑选这些查询,然后尝试手动运行它们以调试问题。

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

最新更新