代码之家  ›  专栏  ›  技术社区  ›  NumberFour

从C API调用MySQL存储过程时出现问题

  •  0
  • NumberFour  · 技术社区  · 14 年前

    使用C API在MySQL服务器上调用存储过程时遇到问题。

    我使用mysql_query(&handle,“call myprocedure”),但函数失败(返回1),错误查找给出 以下消息“procedure myprocedure can't return a result set in the given context.” 我甚至尝试使用mysql_real_query insted,但没有更好的。

    我看过一些关于这个bug的主题,但只有与PHP相关的。所以C程序也有同样的问题。

    奇怪的是,我的存储过程甚至不应该返回任何结果集。它只处理表中的数据,不返回任何内容。

    谢谢你的建议。

    2 回复  |  直到 14 年前
        1
  •  1
  •   mtanish    14 年前

    参见功能:
    mysql_set_server_option()&
    mysql_real_connect()。
    here.

    使用mysql_选项_multi_statements_on和_off参数只启用(临时)多个语句 to mysql_set_server_option()。

    这里的问题是客户端的多个语句 mysql_real_connects()。 也隐式地启用客户机的多个结果,但是 mysql_option_multi_statements_on只启用多个语句, 多个结果。

    因此,请在connect上添加client_multi_语句,然后重试。

        2
  •  0
  •   noonex    14 年前

    是否尝试从“mysql”命令行客户端调用此过程?
    是否可以调用(另一个)空过程来测试问题是否与该过程相关?