1

我正在使用 Spring JDBCTemplate 在 Oracle 10g 数据库中执行几千行的批处理更新(插入)。为了测试我的错误处理,我确保我得到一个关于最大长度的异常。

我得到以下(预期的)异常:

引起:org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; SQL [INSERT INTO同事(col_id,col_code,col_description,pers_id)VALUES(?,?,?,?)]的未分类SQLException;SQL状态[72000];错误代码 [12899];ORA-12899: 列 "MYSCHEMA"."COLLEAGUES"."COL_DESCRIPTION" 的值太大(实际值:57,最大值:40);

嵌套异常是 java.sql.BatchUpdateException: ORA-12899: value too large for column "MYSCHEMA"."COLLEAGUES"."COL_DESCRIPTION"(实际:57,最大值:40)

我的问题是,导致此异常的 col_description 的值是什么?如您所见,查询不显示实际值,而仅显示 ? 的准备好的声明。

4

1 回答 1

0

如果您从 db dable 获取数据,请尝试从源表中选择无效数据列

select * from COLLEAGUES_source_column 
where length(COL_DESCRIPTION_source_column) > 40
于 2012-06-21T13:59:00.313 回答