使用 MYSQL ODBC 连接器的命令不同步

Commands out of sync USING MYSQL ODBC CONNECTOR

在游标操作后调用 select 语句时,我得到:命令不同步,您现在不能 运行 此命令。以下只是用于测试目的的存储过程的粗略片段。 如果它使用游标但没有 "SELECT" 语句,则一切正常。

CREATE PROCEDURE TestOne()
BEGIN
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
DECLARE cur_textCursor CURSOR FOR ( SELECT 1 );
OPEN cur_textCursor ; 
IF done THEN
CLOSE textCursor ;
 END IF;
SELECT 1;
END 

Using MySQL ODBC 5.3 ANSI Driver

MySQL version 5.5

更新:

上述问题在我的 Sql ODBC 连接器 5.1 驱动程序中运行良好。

它仍然是我的 Sql ODBC 连接器 5.3 ANSI 驱动程序中的错误

这里有一个关于此问题的未解决错误: http://bugs.mysql.com/bug.php?id=71431

虽然您的案例在 Connector/ODBC 5.1 中有效,但在 5.2 和 5.3 版中您需要将附加查询包装在 BEGIN..END 块中。

这可能是一个可以修复的错误,但简单的解决方法是像上面那样包装它或使用 Connector/ODBC 5.1.

我的这个修复: ODBC -> 选项卡系统 DSN -> 双击以配置我的数据源 -> 详细信息 -> 选项卡游标 -> 取消选中 [不缓存只进游标的结果] -> 单击好的