2011-09-19 127 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