通过ODBC从SSRS调用MySQL存储过程
我试图调用一个存储过程,该存储过程从通过ODBC从SSRS调用MySQL存储过程,mysql,stored-procedures,reporting-services,odbc,ssrs-2008,Mysql,Stored Procedures,Reporting Services,Odbc,Ssrs 2008,我试图调用一个存储过程,该存储过程从ssrs获取Mysql上的一个参数。通过ODBC连接。使用查询设计器调用时,我使用以下语法: `CALL test.ClientSelectExtract(?)` 我得到了以下错误 `SQLBindParameter not used for all parameters` 我找到了解决办法。阅读一篇文章,指出MySql ODBC不支持命名参数。 所以我像这样调用存储过程 呼叫测试。客户端选择提取(?) 在参数文件夹中添加名为parameter1的参数,然
ssrs
获取Mysql上的一个参数。通过ODBC
连接。使用查询设计器调用时,我使用以下语法:
`CALL test.ClientSelectExtract(?)`
我得到了以下错误
`SQLBindParameter not used for all parameters`
我找到了解决办法。阅读一篇文章,指出MySql ODBC不支持命名参数。
所以我像这样调用存储过程
呼叫测试。客户端选择提取(?)
在参数文件夹中添加名为parameter1的参数,然后设置类型和值,然后显式创建名为parameter1的参数以引用?在数据集上,所有的工作都很好
注:如果我有更多?占位符下一个参数将是parameter2,步骤相同等等。您应该从MYSQL在SSMS中创建链接服务器,然后只有我们才会调用存储过程。调用存储过程的语法:
MySQL(链接服务器名称)上的EXEC('CALL GASP_sales_aps(?,)',@dt_start,@dt_end)
GASP\U sales\U aps-->程序名称
(@dt_start,@dt_end)--->是参数。除非在使用MySQL时情况有所不同,否则我认为您应该使用@ParameterName
而不是?
。我尝试过了,它向过程发送空字符串,但是当我对普通语句使用它时,它很有效。SSRS参数的设置是什么样子的?数据类型是什么?如何设置(可用/默认)值?请注意,在执行之前,SSRS将用实际值(或csv值,如果是多值参数)替换@ParamName
,但它不会将其视为查询的适当参数。我使用的SSRS参数是日期时间,但是将它们格式化为YYY-MM-DD格式的字符串。SSRS没有自动创建参数,所以我手动创建了同名的参数,作为测试,存储过程将显示接收到的参数,但我得到空字符串听说您找到了解决方案。别忘了你可以回答自己的问题,并在24小时后接受答案-这将有助于未来的游客通过搜索登陆这里。