我无法在Mysql数据库中存储.doc简历

时间:2012-01-17 10:44:42

标签: java mysql hibernate spring java-ee

Hibernate:insert into data_files (file_content, file_name, doc_title, resume_text, title, title_id, file_type) values (?, ?, ?, ?, ?, ?, ?)

错误:

org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not insert: [com.dckap.intranet.dto.FileUpload]; uncategorized SQLException for SQL [insert into data_files (file_content, file_name, doc_title, resume_text, title, title_id, file_type) values (?, ?, ?, ?, ?, ?, ?)]; SQL state [HY000]; error code [1366]; Incorrect string value: '\xE2\x96\xAA Re...' for column 'resume_text' at row 1; nested exception is java.sql.SQLException: Incorrect string value: '\xE2\x96\xAA Re...' for column 'resume_text' at row 1

我在将数据存储在data_files表中时收到了上述错误。

  1. 问题仅发生在mocha主机托管的实时数据库中。
  2. 在本地计算机上,同一简历没有问题
  3. 数据类型在db表中都是相同的。

    知道我该怎么办?

2 个答案:

答案 0 :(得分:2)

您似乎在varchar或CLOB列中存储二进制文档。使用二进制类型存储二进制数据。

答案 1 :(得分:0)

我认为这可能与您将文件存储在不支持此特定格式的列中有关。根据例外,有问题的char是'bullet'检查你的InnoDB编码设置。将文件本身存储在文件系统上并在数据库中存储它的路径将是一个更好的主意(IMO)。您可能会发现this线程相关。 祝你好运!