2010-05-20 4 views
0

J'ai un problème lors de l'enregistrement de fichiers texte volumineux dans la base de données MySQL. Si la taille du fichier texte est d'environ 5 Ko, il enregistre avec succès. Si le fichier est 148KB je reçois cette erreur de mise en veille prolongée:Problème lors de l'enregistrement du fichier texte dans la base de données en utilisant Hibernate

org.hibernate.exception.DataException: Could not execute JDBC batch update 

Ce sont les spectacles SQL par Hibernate:

Hibernate: insert into file_table (ID,FILE) values (?, ?) 

Et dans mon dossier de mise en veille prolongée, je suis en utilisant java.sql.Blob pour stocker le fichier. Quelqu'un sait pourquoi il ne parvient pas à enregistrer une taille de fichier de 148 Ko mais si j'ouvre le même fichier, le réduire à environ 5 Ko, il va l'enregistrer avec succès?

Je pensais que la limite par défaut était de 2 Go? C'est bizarre.

Merci.

Répondre

1

Voici une explication de la longueur maximale pour les différentes colonnes de chaîne dans une base MySQL:

http://dev.mysql.com/doc/refman/5.1/en/string-type-overview.html

Une colonne standard TEXTE permet seulement 65.535 caractères max, vous voulez probablement une colonne de LONGTEXT qui permet autour 4Gb par colonne .

+0

Merci. J'avais auparavant BLOB dans la base de données. J'ai changé dans la base de données pour LONGBLOB et ça marche !!! – Marquinio

Questions connexes