我在将大型文本文件保存到MySQL数据库时遇到问题。如果文本文件大小约为5KB,则会成功保存。如果文件是148KB,那么我从Hibernate得到这个错误:
org.hibernate.exception.DataException: Could not execute JDBC batch update
这些是Hibernate的SQL节目:
Hibernate: insert into file_table (ID,FILE) values (?, ?)
在我的hibernate文件中,我使用java.sql.Blob来存储文件。
任何人都知道为什么它无法保存148KB的文件大小但如果我打开同一个文件,将其减少到大约5KB,它会成功保存吗?
我认为默认限制是我认为2GB?这很奇怪。
感谢。
答案 0 :(得分:1)
以下是mysql中不同字符串列的最大长度的说明:
http://dev.mysql.com/doc/refman/5.1/en/string-type-overview.html
标准TEXT列最多只允许65,535个字符,您可能需要一个LONGTEXT列,每列大约4Gb。