2011-09-19 99 views
0

我正在调试的应用程序在其日志中随机/偶尔地写入这个异常。什么是SQL错误:5,SQLState:HY000?什么会导致这个错误?

org.hibernate.util.JDBCExceptionReporter - SQL Error: 5, SQLState: HY000 

以及与此相关的SQL内存不足错误。

虽然我在mysql文档中发现SQLState:HY000是什么,但我无法在任何地方找到与此状态相关的SQL错误5。 目前我只知道db连接由于内存不足错误而关闭,并且情况并不遵循任何模式。

由于程序的性质,添加附加日志消息不是一个选项。 (我无法做到这一点,因为应用程序是巨大的,从我看到它随机发生 - 执行查询所需的不同内存大小(在消息中)从3 MB到6 MB不等)。

任何有关此例外的帮助/信息,表示赞赏。

附加信息: 看起来,内存不足的消息以100-150毫秒的时间间隔出现在6-50个请求块中。 从约20-30个错误消息的列表中,只有3个也出现在mysql日志中,其余仅在tomcat日志中(打印堆栈跟踪)。

谢谢

回答

1

HY000表示一般错误。
SQL错误5 Out of memory

查看您的查询,增加my.ini中的缓冲区。 还请确保修复所有表并重新为它们编制索引。

请参见:http://dev.mysql.com/doc/refman/5.0/en/error-messages-server.html

+0

感谢您帮助我在5号谜我了。不幸的是,我不确定我可以增加缓冲区大小并重新索引表格,但至少我知道搜索整个错误信息将不会提供更多信息。 我将回到绘图表并试图了解应用程序的哪一部分导致了这一点。 – Romeo