50分,MySQL查询异常:Fatal error encountered during command execution。

kyle315 2009-03-23 10:57:05
在使用存储过程查询时,出现错误提示:Fatal error encountered during command execution,每次发现查询时间较长时(超出40秒),出现的几率很大,但存储过程本身没什么问题,因为,同样条件,当查询数据较少时也不会出问题。
MySql版本:5.0.27
查询数据表记录大概有200万条,分页得出查询记录后,还要再关联(Join)两个表。
...全文
3802 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiawenyi 2012-08-31
  • 打赏
  • 举报
回复
我也出现过这个错误,是因为我没有把我的参数加上去
yyf092220 2011-11-24
  • 打赏
  • 举报
回复
楼主问题解决没有啊 告知一下 yyf092220@163.com 谢谢
残月_风 2010-11-08
  • 打赏
  • 举报
回复
是查询超时引起的,解决办法:
dataAdapte.SelectCommand.CommandTimeout=1200; //把超时设长一点就好
laurel_stu 2010-11-04
  • 打赏
  • 举报
回复
我也遇到这个问题了,不过是删除一个表的记录时发生的!
没找到原因,不知道谁懂这个问题?
ZhnToNet 2010-10-09
  • 打赏
  • 举报
回复
我也遇到这个问题了,不过后来检查是语句问题。
lycandy2006 2009-10-21
  • 打赏
  • 举报
回复
我也是这个问题,很奇怪。还没有解决办法,多多交流哦,lycandy2006@yahoo.com.cn
Alacom 2009-08-25
  • 打赏
  • 举报
回复
LZ.我也碰到你一样的问题.不知道什么解决.有空敬请回复.alecom@163.com
realzyy 2009-04-02
  • 打赏
  • 举报
回复
关注下,呵呵。LZ给的细节过少了。
ljf_ljf 2009-04-01
  • 打赏
  • 举报
回复
1 我觉得是由于慢查询导致存储过程出现问题的。
2 在存储过程中增加一些异常机制处理,将出错的内容记录下来。
3 检查 MySQL 慢查询日志 和 Error 日志,看看是否有记录相关内容。
jiahehao 2009-04-01
  • 打赏
  • 举报
回复
Description:
ExecuteReader() method of the MySqlCommand object displays "Fatal error encountered during
command execution" message when the simple statement below is executed.

select @data := 3, @data * 4;

How to repeat:
MySqlConnection con = new MySqlConnection();
con.ConnectionString = "Database=sampledb;Data Source=localhost;User Id=root;Password=a";
con.Open();
// Connection ok
string cmdText = "select @data := 3, @data * 4;";
MySqlCommand cmd = new MySqlCommand(cmdText, con);
MySqlDataReader r = cmd.ExecuteReader();
r.Read();
MessageBox.Show(r.GetInt32(1).ToString());
r.Close();
con.Close();
r.Dispose();
con.Dispose();[17 Nov 2008 17:26] Reggie Burnett
Neoh

This is not a bug. You are attempting to use user variables in your sql. The default
mode for Connector/Net assumes you will not be using user variables (as most users don't)
and so it sees @data and expects to find a parameter named @data. When it doesn't find
one it throws an exception.

To fix this add 'allow user variables=true' to your connection string. In this mode it
will not complain when it sees @data but doesn't find a parameter of that name.


你的存储过程是否使用了自定义变量?不过你说查询数据量少的时候不出问题,似乎和这个自定义变量又无关。
kyle315 2009-03-29
  • 打赏
  • 举报
回复
应该不是“内存不足”,顶下。
kyle315 2009-03-26
  • 打赏
  • 举报
回复
顶下,代码不再家里,贴不出来。
Seanxiaoxiao 2009-03-26
  • 打赏
  • 举报
回复
内存不足?
百年树人 2009-03-24
  • 打赏
  • 举报
回复
数据量好大,关注...
kyle315 2009-03-24
  • 打赏
  • 举报
回复
索引都建了,用MySql Administrator工具执行存储过程是没有问题的,就是时间会久些,1分钟左右吧。
wwwwb 2009-03-24
  • 打赏
  • 举报
回复
代码贴出来看看,在连接字段上建立索引没有

57,063

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧