C++调用存储过程失败!出现如下错误:MySQL Error: PROCEDURE xmdk.query_all_plan can't return a result set in the given context

  其中:

  xmdk是数据库名称,
  query_all_plan是自己写的存储过程的名字;

  

  

  错误原因:连接数据库的方式可能不正确。

  导致报错的数据库连接方式:

 C++ Code 
1
2
3
4
5
6
7
8
9
10
11
 
if (mysql_real_connect(m_mysql, server_ip.c_str(),
                       user_name.c_str(),
                       user_password.c_str(),
                       mysql_dbname.c_str(),
                       ,
                       NULL,
                       ) == NULL)
{
    DEBUG_TRACE_ERROR(WSTR("ServerConnect_2,EER:MySQL(%s)连接失败.,%s:%d"), connectstr.c_str(), __WFUNCTION__, __LINE__);
    ;
}

  修改为正确的连接方式:

 C++ Code 
1
2
3
4
5
6
7
8
9
10
11
 
if (mysql_real_connect(m_mysql, server_ip.c_str(),
                       user_name.c_str(),
                       user_password.c_str(),
                       mysql_dbname.c_str(),
                       ,
                       NULL,
                       CLIENT_MULTI_STATEMENTS) == NULL)
{
    DEBUG_TRACE_ERROR(WSTR("ServerConnect_2,EER:MySQL(%s)连接失败.,%s:%d"), connectstr.c_str(), __WFUNCTION__, __LINE__);
    ;
}

  果然,通过修改一下连接数据库的连接参数(CLIENT_MULTI_STATEMENTS)就OK了!

  有了CLIENT_MULTI_STATEMENTS,一次就可以执行多条语句,执行一个存储过程(好多条语句)大致如此。

MySQL Error: PROCEDURE xmdk.query_all_plan can't return a result set in the given context的更多相关文章

  1. procedure can't return a result set in the given context

    调用存储过程失败!出现如下错误:PROCEDURE ipbx.qu_ery can't return a result set in the given context, ipbx是数据库, qu_e ...

  2. MySQL Error Handling in Stored Procedures 2

    Summary: this tutorial shows you how to use MySQL handler to handle exceptions or errors encountered ...

  3. MYSQL ERROR CODE 错误编号的意义

    mysql error code(备忘) 转1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件 ...

  4. MySQL Error Handling in Stored Procedures---转载

    This tutorial shows you how to use MySQL handler to handle exceptions or errors encountered in store ...

  5. MySQL中Procedure事务编写基础笔记

    原文:MySQL中Procedure事务编写基础笔记 目录: 一.PROCEDURE: 二.CREATE PROCEDURE基本语法: 三.PROCEDURE小进阶   3.1.基本的DECLARE语 ...

  6. MySQL Error Handling in Stored Procedures

    http://www.mysqltutorial.org/mysql-error-handling-in-stored-procedures/ mysql存储过程中的异常处理   定义异常捕获类型及处 ...

  7. 谁记录了mysql error log中的超长信息

    [问题] 最近查看MySQL的error log文件时,发现有很多服务器的文件中有大量的如下日志,内容很长(大小在200K左右),从记录的内容看,并没有明显的异常信息. 有一台测试服务器也有类似的问题 ...

  8. 谁记录了mysql error log中的超长信息(记pt-stalk一个bug的定位过程)

    [问题] 最近查看MySQL的error log文件时,发现有很多服务器的文件中有大量的如下日志,内容很长(大小在200K左右),从记录的内容看,并没有明显的异常信息. 有一台测试服务器也有类似的问题 ...

  9. 关于mysql登录异常处理方法 - mysql ERROR 1045 (28000)

    今天在开发过程中遇到了一个很令人头痛的问题?? 使用 百度经验的步骤 [http://jingyan.baidu.com/article/495ba841ef412d38b30edeb2.html]修 ...

随机推荐

  1. 从Intellij IDEA14 SpringMVC4+Hibernate4问题得到的启发

    1.在添加model类hibernate注解的时候,idea一直提示没有配置数据源(其实是假报错,浪费我这么长时间,感觉idea还是和vs有很大的差距)! 2.解决上面的问题,又报错,原来id的注解写 ...

  2. OAuth2.0官方文档中文翻译

    http://page.renren.com/699032478/note/708597990 (一)背景知识 OAuth 2.0很可能是下一代的“用户验证和授权”标准,目前在国内还没有很靠谱的技术资 ...

  3. java web中使用log4j

    测试log4j的项目结构 Log4j.properties的路径为    src/config/log4j Log4j.properties文件的内容 下面定义日志输出级别是 INFO,并且配置了2个 ...

  4. iframe双滚动栏 解决方案 CSS3 overflow-y 属性

     裁剪 div 元素中内容的左/右边缘 - 假设溢出元素的内容区域的话: div { overflow-y:hidden; } <!DOCTYPE html> <html> ...

  5. Python 实int型和list相互转换 现把float型列表转换为int型列表 把列表中的数字由float转换为int型

    第一种方法:使用map方法 >>> list = [, ] #带有float型的列表 >>> int_list = map(int,list) #使用map转换 & ...

  6. socket发送http请求

  7. jquery 情况form表单的所有内容

    #project_file_upload 为表单的id $(':input','#project_file_upload') .not(':button, :submit, :reset, :hidd ...

  8. Linux动态库开发

    http://blog.csdn.net/qq_33850438/article/details/52014399 ### 导出符号------------------------------ 默认所 ...

  9. UNION types numeric and text cannot be matched

    NULL ::NUMERIC 有时候会遇到这个问题,那是因为几个SQL组合在一起的时候,同一个字段的值,出来了不同类型的时候,这种时候就需要进行转型的处理了.

  10. fontDialog-字体对话框和colorDialog-颜色对话框

    private void button1_Click(object sender, EventArgs e) { DialogResult dr = fontDialog1.ShowDialog(); ...