在游标操作后调用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
使用MySQL ODBC 5.3 ANSI驱动程序
MySQL版本5.5
更新:
上述问题在My Sql ODBC Connector 5.1驱动程序中正常工作。
它仍然是我的Sql ODBC连接器5.3 ANSI驱动程序
中的错误答案 0 :(得分:0)
此处有一个关于此问题的漏洞: http://bugs.mysql.com/bug.php?id=71431
看起来虽然你的案例适用于Connector / ODBC 5.1,但在版本5.2和5.3中你需要将附加查询包装在BEGIN..END块中。
这可能是一个可以解决的错误,但简单的解决方法是将其包装如上或使用Connector / ODBC 5.1。
答案 1 :(得分:0)
对我来说此修复程序: ODBC->选项卡System DSN->双击以配置我的数据源->详细信息->选项卡游标-> 取消选中 [不缓存前向游标的结果]->单击确定>