【问题标题】:Calling a MySQL stored procedure with parameters in SSRS reporting through ODBC通过 ODBC 在 SSRS 报告中调用带有参数的 MySQL 存储过程
【发布时间】:2019-02-09 07:23:57
【问题描述】:

在 SSRS 中,当我将硬编码值传递给我的存储过程时,它可以正常工作。但是当我尝试传递参数时它不起作用。

您能否告诉我通过 ODBC 数据源在 SSRS 中调用 MySQL 存储过程的正确语法。

实际上,我的问题是 SSRS 或 ODBC 驱动程序在发送/接收参数值时出现问题。其他语法尝试:

call shop.GetRegions(),

call shop.GetRegions(?),

call shop.GetRegions(regid),

call shop.GetRegions(@regid)

这些都不起作用。如果我使用硬编码值调用该过程,即

call shop.GetRegions(5)

  • 有效。同样,如果存储过程没有参数,它可以正常工作。我想知道如何在 SSRS Reporting 中调用 MySQL 存储过程?你能在这个问题上给我任何真正的方向吗?

【问题讨论】:

    标签: mysql reporting-services ssrs-2012 ssrs-tablix


    【解决方案1】:

    我真的不知道从哪里开始,因为似乎有很多东西我可以提到,但就在这里......

    首先,我相信您可以将 MySQL 与 SSRS 一起使用,但我不确定您为什么要避免使用旨在与 SSRS 一起使用的 SQL Server。除此之外,我不确定这个call 函数来自哪里?除非您使用一些自定义代码,否则我以前从未见过。

    接下来,如果这是在 SSRS 中完成的,您需要以正确的方式调用参数。 SSRS 中引用参数的语法如下所示 Parameters!regid.Value

    尝试以这种方式调用过程而不是将数据加载到数据集中的原因是我很好奇的另一件事。最简单的做法是数据集从存储过程中获取值,这样,SSRS 通常会在数据集属性中处理此类参数问题,而不是显式调用该过程。

    【讨论】:

    • 嗨@Steve-o169 我正在使用 MySQL,因为我们公司只有 MySQL。我尝试像这样使用参数Parameters!regid.Value,但这不起作用
    • @ShahabHaidar 你介意用“呼叫”解释一下吗?我从未见过这种语法。是自定义代码吗?还是在 SSRS 以外的程序中使用它?
    • Hi @Steve-o169 call 语法用于在 MySQL 中执行存储过程。
    • 我遇到了和 Shahab 一样的问题。您必须指定调用语法并使命令类型为文本。 markcordell.blogspot.com/2008/12/… 但是,该博客文章说明了为什么您必须这样做,而不是为 SSRS。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多