데이터베이스 테이블에 문자열 (> 4k)을 CLOB 필드로 유지하는 Java 클래스가 있습니다. 문자열이 4k보다 작 으면 작동합니다. 에 의한문자열> 최대 절전 모드를 사용하는 4000에서 CLOB로 변환
:
나는 분야 @Lob를 사용하여 주석과 처음에 내가 인해 스트림을 지원하지 배치에 예외를 얻고 있었다 것은 내가 예외를주고 최대 절전 모드 설정에 배치 사이즈 0을 만든이 : java.sql.SQLException의 : ORA-01460 : 구현되지 않은 또는 부당한 변환 Grails의의 코드를 사용할 때 나는 단지이 문제를 얻을
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1144)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2152)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2035)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2876)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:609)
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:23)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2062)
... 36 more
을 요청했다. 순수 Java 응용 프로그램에서 동일한 코드를 사용하면 문제가 발생하지 않습니다. 두 애플리케이션 모두 동일한 최대 절전 모드 설정을 가지고 있습니다 (Grails에서 배치 크기를 0으로 설정해야한다는 것을 제외하고). 이 문제는 Hibernate 버전에서 Grails의 3.2.6ga 버전과 자바 애플리케이션의 3.2.5ga 버전의 차이점인가요? 오라클 드라이버는 두 경우 모두 같습니다.
답변을 환영합니다.
어떤 버전의 Oracle JDBC 드라이버를 사용하고 있습니까? –