MySQL+;SSRS |存储过程只返回一行

MySQL+;SSRS |存储过程只返回一行,mysql,reporting-services,odbc,Mysql,Reporting Services,Odbc,我正在通过ODBC适配器编写几个用MySQL编写的SSR报告。出于某种原因,存储过程只返回一行数据,而不是预期的数据集 下面是在SQL编辑器上运行的相同存储过程: 下面是SSRS尝试运行存储过程时(在查询设计器和报表查看器上)的执行结果: 据我所知,我还正确设置了参数: 所以我无法找到一个确切的答案,解释为什么通过ODBC在使用MySQL的SSR上发生这种情况。我能找到的是一个解决办法: 通过将命令作为表达式执行而不是通过查询编辑器作为原始查询执行: 现在唯一需要注意的是,数据集字段不

我正在通过ODBC适配器编写几个用MySQL编写的SSR报告。出于某种原因,存储过程只返回一行数据,而不是预期的数据集

下面是在SQL编辑器上运行的相同存储过程:

下面是SSRS尝试运行存储过程时(在查询设计器和报表查看器上)的执行结果:

据我所知,我还正确设置了参数:


所以我无法找到一个确切的答案,解释为什么通过ODBC在使用MySQL的SSR上发生这种情况。我能找到的是一个解决办法:

通过将命令作为
表达式执行而不是通过
查询编辑器作为原始查询执行

现在唯一需要注意的是,
数据集字段不会自动生成,您必须手动绘制它们。一个很好的解决方法是首先运行一个只有列名的空/空查询(即:选择null“column\u name\u 1”,null“column\u name\u 2”),然后将查询源更改为Expression。使用表达式的好处在于,您只需要了解它的工作原理,它减少了与ODBC“?”参数的混淆


干杯

您使用的是哪个版本的OBDC驱动程序?@SQLBobScot我在x64和X86上有8.00.17.00用于MySQL 8.0 ANSI/Unicode,当我在谷歌上搜索到一篇关于旧版本(我想是v5)的文章时,由于一个bug,结果集返回的只有一行。这是否只发生在存储过程中?或者,如果使用select语句,即select语句需要很多行,但只返回1行,您是否也会看到同样的问题?不过,select语句对我来说很好。这种情况只发生在存储过程中,我也偶然看到一篇文章,讲述了v5前后的错误,但没有提到后续版本仍然受到影响。