我不能够存储为.doc简历在MySQL数据库中

问题描述:

休眠:insert into data_files (file_content, file_name, doc_title, resume_text, title, title_id, file_type) values (?, ?, ?, ?, ?, ?, ?)我不能够存储为.doc简历在MySQL数据库中

错误:

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. 该问题仅在摩卡主机中托管的活动数据库中出现。
  2. 在本地机器上存在具有相同的简历

的数据类型为数据库的表都在同一切没有问题。

任何想法我应该怎么做?

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

+0

为什么它与本地数据库一起工作? – Meenakshi 2012-01-17 11:10:38

+0

还有一件事是我使用'文本'来执行恢复文本搜索......该请求会受到影响 – Meenakshi 2012-01-17 11:12:02

+0

也许本地数据库使用不同的字符编码。 – 2012-01-17 11:12:20

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

+0

它为什么与本地数据库一起工作? - – Meenakshi 2012-01-17 11:11:24

+0

,因为InnoDB引擎设置(编码)可能存在差异。不过,我认为你错过了更重要的部分:将文件路径存储在数据库中,而不是文件。 – aviad 2012-01-17 12:26:40