采集数据入库的时候,原来好用的程序,不知道突然间怎么报了个错:
java.sql.SQLException:ORA-01461:仅能绑定要插入LONG列的LONG值
atoracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
atoracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
atoracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
atoracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:623)
atoracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:181)
atoracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:543)
atoracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1028)
atoracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2888)
atoracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:2960)
搞得我也很郁闷,原来以为是字符太多,查看了数据库看,约束的字符还是很大的,在网上做了多方的查找之后说有可能是驱动包的问题,把它更换成class12.jar
试了一下,果然好使。class12好用了,那我用别的ojdbc14难道就不好用了吗?我用在网上下了一个ojdbc10.2.04版本的,一试依然好用。
由此推断是ojdbc14.jar包的版本问题;
由此总结了一下错误产生的原因:
1.列约束太小,如果是字符比较多可以使用clob来解决,现在来说clob是支持4GB;
2.就是驱动版本的问题,版本低或者是版本不兼容。
本文探讨了解决ORA-01461错误的方法,包括检查列约束大小和更换不同版本的驱动包。通过实践发现ojdbc10.2.04和class12.jar能够有效解决问题。
9019

被折叠的 条评论
为什么被折叠?



