在SSRS中,当我将硬编码的值传递给存储过程时,它可以正常工作。但是当我尝试传递参数时,它不起作用。
能否请您告诉我通过ODBC数据源在SSRS中调用MySQL存储过程的正确语法。
实际上,我的问题是SSRS或ODBC驱动程序在发送/接收参数值时出现问题。其他语法尝试:
call shop.GetRegions()
,
call shop.GetRegions(?)
,
call shop.GetRegions(regid)
,
call shop.GetRegions(@regid)
这些都不起作用。如果我使用硬编码值(即
)调用该过程 call shop.GetRegions(5)
答案 0 :(得分:1)
我真的不知道从哪里开始,因为似乎有很多事情我可以提及,但是在这里...
首先,我相信您可以将MySQL与SSRS一起使用,但是我不确定为什么您要避免使用与SSRS一起使用的SQL Server。除此之外,我不确定此call
函数来自何处?除非您附带一些自定义代码,否则我从未见过。
接下来,如果这是在SSRS中完成的,则需要以正确的方式调用参数。在SSRS中引用参数的语法如下所示
Parameters!regid.Value
与将数据加载到数据集中相反,尝试以这种方式调用过程的原因是我很好奇的另一件事。最简单的事情是数据集从存储过程获取值,这样,SSRS通常会在数据集属性中处理类似此参数问题的事情,而不是显式调用过程。