MySQL:"Commands out of Sync"错误(C 连接器)
MySQL: "Commands out of Sync" error (C connector)
环境:
我正在使用MySQL C连接器编写代码。
错误:
获取数据的第二次(以及所有后续(调用始终返回"命令不同步"无法立即运行此命令"错误。
- 我为每个调用运行相同的 sql。
- 如果我关闭呼叫之间的连接,则不会发生错误。
算法:
我准备对存储过程的调用。
调用 mysql_stmt_result_metadata(( 获取 T 元数据。
绑定结果。
调用 mysql_stmt_store_result(( 来缓冲结果。
调用 mysql_stmt_fetch(( 获取所有结果。
完成后调用 mysql_stmt_free_result((。
调用 mysql_stmt_close((;
我从此示例对代码进行了建模。我所做的唯一更改是调用 mysql_stmt_store_result((,以便我可以在获取结果集之前获取结果集的大小。
有什么建议吗?
这一段给出了线索:
"如果您的程序使用 CALL 语句来执行存储过程,则必须启用 CLIENT_MULTI_RESULTS 标志。这是因为每个 CALL 都会返回一个结果来指示调用状态,以及过程中执行的语句可能返回的任何结果集。由于 CALL 可以返回多个结果,因此请使用调用 mysql_next_result(( 的循环来处理它们,以确定是否有更多结果。">
存储过程可能只返回一个结果集,并且没有输出参数,但您将收到许多结果集,有些是相同的,有些是空的。使用标记为不是输出参数的第一个结果集似乎对我有用。
相关文章:
- MySQL C++连接器链接错误
- Visual Studio 2017 中的 MySQL 连接器/C++ 错误"Unresolved external symbol _get_driver_instance"
- 循环中的MySQL连接器/C 错误
- MySQL C++连接器程序抛出错误 15
- MySQL 连接器错误,将代码从 Java 转换为 C++
- 从源代码构建 MySQL 连接器/C++(找不到 Boost 库错误)
- "int8_t":尝试将MySQL CPP连接器连接到Visual Studio 2010时Config.h中的重新定义错误
- Mysql c++ 连接器错误
- MySQL / C ++连接器错误:使用旧的(4.1.1之前)身份验证协议的连接被拒绝
- MySQL / C ++连接器错误:libmysqlcppconn.so.7:无法打开Sahred目标文件:没有这样的文
- 连接器/C++-必要的库+错误
- MySQL C++连接器MySQL_Prepared_Statement::getUpdateCount错误
- mysql c++连接器错误:连接器命令失败,退出代码为1
- MySQL:"Commands out of Sync"错误(C 连接器)
- Boost 1.59连接器错误
- 使Boost连接器错误
- Eclipse CDT中的POSIX IPC连接器错误
- 苹果Mach O连接器错误
- c++ MySQL连接器链接错误
- MySQL 连接器/C++ 错误访问崩溃