Oracle ORA-01722无效数字,但该值不是数字

Oracle ORA-01722无效数字,但该值不是数字,oracle,jdbctemplate,ora-01722,Oracle,Jdbctemplate,Ora 01722,我试图在Oracle数据库中插入一些内容,我得到: ORA-01722无效号码 我知道,当Oracle试图将字符串转换为数字但失败时,就会发生这种情况。 我读过很多类似的问题,但没有一个对我有帮助 我已设法找到造成问题的字段,其值为: 它使用org.springframework.jdbc.code.JdbcTemplate的batchUpdate方法进行更新,并插入一行:ps.setString(22,item.getDzvalue()) item.getDzvalue是DZ40209000,

我试图在Oracle数据库中插入一些内容,我得到: ORA-01722无效号码

我知道,当Oracle试图将字符串转换为数字但失败时,就会发生这种情况。 我读过很多类似的问题,但没有一个对我有帮助

我已设法找到造成问题的字段,其值为:

它使用
org.springframework.jdbc.code.JdbcTemplate
的batchUpdate方法进行更新,并插入一行:
ps.setString(22,item.getDzvalue())

item.getDzvalue是
DZ40209000
,但它设置的字段是NCHAR(60)


为什么要进行数字转换?我有点困惑,但据我所知,NCHAR应该能够在列中获取该值。

向我们展示完整的SQL语句。你的问题。不要在注释中发布代码或附加信息。我猜您提供的值的顺序与表中的列顺序或insert中的列列表不匹配,因此您没有将该字符串插入到您认为的列中。或者根本不是列/值的问题。但这只能是一个猜测,没有看到代码。