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