2012-01-17 4 views
0

최대 절전 모드에서 .DOC 이력서를 저장할 수 없습니다입니다 : insert into data_files (file_content, file_name, doc_title, resume_text, title, title_id, file_type) values (?, ?, ?, ?, ?, ?, ?)내가 MySQL 데이터베이스

오류 : data_files 테이블에 이력서를 저장하는 동안 위의 오류를 얻고있다

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 

.

  1. 문제는 mocha 호스트에서 호스팅되는 라이브 DB에서만 발생합니다. 로컬 컴퓨터에서
  2. 같은 이력서

데이터 유형은 모두 DB의 테이블에있는 모든 동일한 문제가 없습니다.

어떻게해야할까요?

답변

2

varchar 또는 CLOB 열에 이진 문서를 저장하는 것 같습니다. 이진 데이터를 저장하려면 이진 형식을 사용하십시오.

+0

로컬 데이터베이스와 함께 작동하는 이유는 무엇입니까? – Meenakshi

+0

그리고 한가지 더는 텍스트 검색을 다시 시작하기 위해 '텍스트'를 사용하는 것입니다 ... 그 requrement가 영향을받습니다 – Meenakshi

+0

아마도 로컬 데이터베이스가 다른 문자 인코딩을 사용합니다. –

0

이 특정 형식을 지원하지 않는 열에 파일을 저장한다는 사실과 관련이 있다고 생각합니다. 예외에 따라 문제가되는 char은 'bullet'입니다. InnoDB 인코딩 설정을 확인하십시오. 파일 시스템에 파일 자체와 DB에 대한 경로를 저장하는 것이 더 좋습니다 (IMO). this 관련 스레드를 찾을 수 있습니다. 행운을 비네!

+0

로컬 데이터베이스와 함께 작동하는 이유는 무엇입니까? - – Meenakshi

+0

. InnoDB 엔진 설정 (인코딩)의 차이가있을 수 있습니다. 그러나, 나는 당신이 더 중요한 부분을 놓친 것 : 파일에 DB가 아니라 파일 경로를 저장하십시오. – aviad