DBUnit 에서 my sql 로 데이터 이상 유도

C:\Users\Administrator\Desktop\defaultDB - mysql  \build.xml:50: org.dbunit.DatabaseUnitException: java.sql.SQLException: Incorrect string value: '\xE3\x80\x8A\xE8\xAE\xBE...' for column 'DOCCONTENT' at row 1
	at org.dbunit.ant.Operation.execute(Operation.java:175)
	at org.dbunit.ant.DbUnitTask.execute(DbUnitTask.java:272)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:392)
	at org.apache.tools.ant.Target.performTasks(Target.java:413)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:392)
	at org.apache.tools.ant.Target.performTasks(Target.java:413)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.Main.runBuild(Main.java:811)
	at org.apache.tools.ant.Main.startAnt(Main.java:217)
	at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
	at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
java.sql.SQLException: Incorrect string value: '\xE3\x80\x8A\xE8\xAE\xBE...' for column 'DOCCONTENT' at row 1
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2928)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1571)
	at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1124)
	at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:676)
	at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:773)
	at org.dbunit.database.statement.SimplePreparedStatement.addBatch(SimplePreparedStatement.java:67)
	at org.dbunit.database.statement.AutomaticPreparedBatchStatement.addBatch(AutomaticPreparedBatchStatement.java:57)
	at org.dbunit.operation.AbstractBatchOperation.execute(AbstractBatchOperation.java:178)
	at org.dbunit.operation.CompositeOperation.execute(CompositeOperation.java:67)
	at org.dbunit.ant.Operation.execute(Operation.java:171)
	at org.dbunit.ant.DbUnitTask.execute(DbUnitTask.java:272)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:392)
	at org.apache.tools.ant.Target.performTasks(Target.java:413)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:392)
	at org.apache.tools.ant.Target.performTasks(Target.java:413)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.Main.runBuild(Main.java:811)
	at org.apache.tools.ant.Main.startAnt(Main.java:217)
	at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
	at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

Total time: 25 seconds

처음에는 인 코딩 문제 인 줄 알 았 는데 조 회 를 통 해 서버 엔 드 인 코딩 과 클 라 이언 트 인 코딩 이 모두 UTF - 8 인 코딩 이 라 인 코딩 에 문제 가 없 었 습 니 다.
show character set 통과 하기;명령 은 Utf 8 인 코딩 의 최대 인 코딩 길이 가 3 인 것 을 발 견 했 습 니 다. 이것 은 모든 데이터 의 저장 에 영향 을 주지 않 을 것 같 지만 필드 의 길이 제한 문제 가 아 닌 지 의심 합 니 다. DocContent 라 는 필드 형식 을 Text 에서 LongText 로 설정 하여 문 제 를 해결 합 니 다.
Text, Medium Text, LongText 가 지원 하 는 길 이 는 다음 과 같 습 니 다 (MySql 5.1 매 뉴 얼 에서 왔 습 니 다).
 
TINYTEXT
최대 길이 255 (28 – 1) 문자 의 TEXT 열 입 니 다.
TEXT[(M)]
최대 길이 65, 535 (216 – 1) 문자 의 TEXT 열 입 니 다.
선택 가능 한 길이 M 을 드 립 니 다.MySQL 은 M 문자 길이 의 값 을 수용 할 수 있 는 최소한 의 TEXT 형식 으로 열 을 만 듭 니 다.
MEDIUMTEXT
최대 길이 가 16, 777, 215 (224 – 1) 문자 인 TEXT 열 입 니 다.
LONGTEXT
최대 길이 가 4, 294, 967, 295 또는 4GB (232 – 1) 문자 인 TEXT 열.LONGTEXT 열의 최대 유효 (허용) 길 이 는 클 라 이언 트 / 서버 프로 토 콜 에서 최대 패키지 크기 와 사용 가능 한 메모 리 를 설정 하 는 데 달 려 있 습 니 다.

좋은 웹페이지 즐겨찾기