2011-04-08 135 views
1

今天我用一个简单的Java应用程序装载大尺寸的数据到MySQL数据库,并得到了一个错误如下:MySQL的内存耗尽错误

值java.sql.SQLException:从服务器语法错误或访问冲突消息: “内存耗尽''Q1',2.34652631E10,'000','000',5.0519608E9,5.8128358E9,'000','000',8.2756818E9,2'在5332行'

我已经试图修改my.ini文件以增加某些观点,但它根本不起作用,实际上文件的大小并不是很大,它只是一个14MB的xls文件,几乎没有想法,等待任何建议。感谢你的帮助!

+0

也许重复的问题:http://stackoverflow.com/questions/4154363/memory-limit-exhausted – hooknc 2011-04-08 20:29:03

+0

没有,那家伙并没有伸出自己的解决方案。 – Kenshin 2011-04-08 20:53:10

+0

您正在运行的查询有多大? 5332行查询表明它是巨大的(除非这是Java applet中发生错误的行)。 – 2011-04-08 21:18:49

回答

1

(没有你的代码的相关部分我只能猜测,但在这里我们去...)

从错误信息,我将采取瞎猜,你猜,你要加载单个查询中的所有300,000行,可能是通过将单个字符串中的大量INSERT语句连接起来而产生的。一个14MB的XLS文件可能会变成很多当翻译成SQL语句时会变大,并且您的服务器内存不足以尝试解析查询。

要解决此(按优先顺序排列):

+0

它非常有意义,第三个建议适合我,因为我必须通过java代码来改变原始xml文件中的一些数据,非常感谢您! – Kenshin 2011-04-09 10:11:27