今天,测试dashboard上的一些graph, 发现,当多个graph同时向后台请求数据(异步)的时候, 出现了上述错误.而且,三个bug交替出现,另外两个bug分别是:python stop response 和mysql close closed connection. 查到最后,发现,因为ajax是异步请求的,而后台处理的时候,建立了一个connection以后,执行多条sql语句的时候,就出现了上述错误. 出错地方: 错误代码: def ExceptionHandling_mysql(…
如下错误: 分析原因: 前端ajax请求后台,共用同一个链接. 搜索别人的解决方案:http://blog.csdn.net/grass_ring/article/details/3499402 用mysql C API 调用存储过程,并返回结果集.需要注意几个问题: 在建立链接的时候要加选项CLIENT_MULTI_STATEMENTS 或 CLIENT_MULTI_RESULTS,以便可以让query执行多个语句. mysql_real_connect(mySQL,serverIP,user…
这个问题出现再 mysql和c  的api. 简单的解决方法是不使用api直接把整个连接和命令传过去. 例如,cmd = 'mysql -h 192.168.32.210 -P 3316 -u bfdroot -pqianfendian -D DMP_GDMP_Cbehe      -e "%s"' % update_sql2 问题原因: Mysql文档:Commands out of sync If you get Commands out of sync; you can't ru…
1.代码如下: void TestCache(otl_connect& otlConn) { try { ] = {}; sprintf(sql,"call test1(1)"); otl_stream stream(, sql, otlConn,otl_implicit_select); int id; while(!stream.eof()) { stream>>id; ] = {}; sprintf(sql2,"call test2(:Id<i…
错误出现在当一个用户使用查询,另一个用户再使用此sql连接进行查询的时候: 原因是因为上一次使用此sql连接进行查询时没有将所有的结果集给释放掉,在所有使用此sql连接进行查询的地方将所有的结果集给释放掉,正确的做法如下 MYSQL_RES *result_ptr = mysql_store_result(tpSqlConn); if (result_ptr) { MYSQL_ROW row = mysql_fetch_row(result_ptr); if (row) { rtn_str =…
MYSQL_REST *result没有释放, 用mysql_free_result(result)即可.…
使用 Connector/C++ 查询 Mysql , 连续调用存储过程时 会出现如下: Commands out of sync; you can't run this command now,state:HY000 出现原因可以看这里:http://stackoverflow.com/questions/17115919/mysql-commands-out-of-sync-error-c-connector 这一句: Because CALL can return multiple res…
最近在使用 Flask 中使用 SQLAlchemy  开发程序,一开始好好的,然后使用 uWSGI 部署到线上后,出现了各种 mysql 客户端的问题,如: (_mysql_exceptions.ProgrammingError) (2014, "Commands out of sync; you can't run this command now") NoSuchColumnError: "Could not locate column in row for colum…
使用MySQLdb时,如果创建一个连接connection,多个线程同时使用,会不会有问题? 在下文中,我们将模拟这种场景,看是否会出现问题. 1.示例 1.1 正常的情况 创建一个连接,两个线程同时使用这个连接,生成游标cursor,进行查询,并输出结果. 程序启动后,让线程1睡眠1s,保证让线程2线执行. import MySQLdb import threading import time def get_connection(): host = "127.0.0.1" port…
error:2014 Commands out of sync; you can't run this command now 这个错误号我也真是醉了. 一直纠结于为什么存储过程执行完,commit操作就是不能再mysql的log里被查到呢. 于是试着输出了下错误,然后这个错误就出来了,原因是因为产生了结果集没有释放不能进行后续的提交. 应当释放存储过程产生的数据集,否则一个存储过程执行完不能再进行其他操作. 由于在程序中会多次使用到存储过程,于是我就将其封装在一个方法里面 function r…