如何找到导致BatchUpdateException的值?

时间:2012-06-21 13:43:15

标签: sql oracle exception batch-updates

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

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

  

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

     

嵌套异常是java.sql.BatchUpdateException:ORA-12899:值太大而不适用于“MYSCHEMA”列。“COLLEAGUES”。“COL_DESCRIPTION”(实际:57,最大值:40)

我的问题是,导致此异常的col_description值是多少?如您所见,查询不显示实际值,只显示?准备好的陈述。

1 个答案:

答案 0 :(得分:0)

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

select * from COLLEAGUES_source_column 
where length(COL_DESCRIPTION_source_column) > 40