Oracle报错java.sql.SQLSyntaxErrorException: ORA-01722: invalid number解决方案

xiaoxiao2021-02-28  49

oracle中出现上面报错是因为数据在转换成数字出现错误,也就是你的sql中出现了TO_NUMBER()方法,并且里面有哪条数据中这个字段不能转换而报错。

解决方法:先去查看SQL中找到那个字段使用了TO_NUMBER()方法,确认后根据自己业务逻辑决定是否继续使用TO_NUMBER()方法还是转为String。

如果必须要确认具体哪条数据并且数据量巨大可以用ORACLE提供的getNextException()方法 报错信息来定位。

try { // 数据库相关操作 statement.executeBatch(); } catch (SQLException e) { //具体错误信息 e = e.getNextException(); logger.info("Code: " + e.getErrorCode()); logger.info("Error Message: " + e.getMessage()); logger.info("SqlState: " + e.getSQLState()); } finally { closePrepareStatment(statement); }

转载请注明原文地址: https://www.6miu.com/read-52438.html

最新回复(0)