浏览 13693 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-04-02
另外,根据我的测试发现,如果OPERATION_CONTENT字段为纯汉字,那么如果使用ojdbc14_10g.jar驱动,OperationContent的长度超过1000就会报错;如果使用class12.jar驱动,OPERATION_CONTENT的长度超过666就会报错,真是奇怪.但是在TOAD中,OPERATION_CONTENT字段的长度是可以正常的到2000的. 表的结构: CREATE TABLE LOG ( LOG_ID NUMBER(20) NOT NULL, OPERATION_TYPE VARCHAR2(64) NULL, OPERATION_CONTENT VARCHAR2(4000) NULL, OPERATION_TIME CHAR(14) NULL ); 详细错误信息: 15:59:46,921 WARN [JDBCExceptionReporter] SQL Error: 1461, SQLState: 72000 15:59:46,921 ERROR [JDBCExceptionReporter] ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值 15:59:46,937 WARN [JDBCExceptionReporter] SQL Error: 1461, SQLState: 72000 15:59:46,937 ERROR [JDBCExceptionReporter] ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值 15:59:46,937 WARN [JDBCExceptionReporter] SQL Error: 1461, SQLState: 72000 15:59:46,937 ERROR [JDBCExceptionReporter] ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值 15:59:46,937 WARN [JDBCExceptionReporter] SQL Error: 1461, SQLState: 72000 15:59:46,937 ERROR [JDBCExceptionReporter] ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值 15:59:46,953 ERROR [JDBCExceptionReporter] Could not execute JDBC batch update java.sql.BatchUpdateException: ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值 at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:343) at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10656) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeBatch(DelegatingPreparedStatement.java:231) at net.sf.hibernate.impl.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:54) at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:126) at net.sf.hibernate.impl.BatcherImpl.prepareStatement(BatcherImpl.java:59) at net.sf.hibernate.impl.BatcherImpl.prepareStatement(BatcherImpl.java:56) at net.sf.hibernate.impl.BatcherImpl.prepareBatchStatement(BatcherImpl.java:109) at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:460) at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:442) at net.sf.hibernate.impl.ScheduledInsertion.execute(ScheduledInsertion.java:29) at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2418) at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2371) at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2240) at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61) at org.springframework.orm.hibernate.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:386) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:314) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:189) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:134) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:148) at $Proxy121.saveUserAuth(Unknown Source) 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-04-02
有没有出现类似问题的兄弟来一起交流一下?
|
|
返回顶楼 | |
发表时间:2007-04-05
定义type="text",Hibernate应该直接使用clob。Long有太多限制,不太好用
|
|
返回顶楼 | |
发表时间:2007-04-18
你去oracle上下一个ojdbc14.jar,注意版本最好与数据库一致。
|
|
返回顶楼 | |
发表时间:2007-04-22
是有这个问题,当10g的驱动用在9i上时,字符数在1001到2000之间时会报错,可能是版本不兼容吧。
|
|
返回顶楼 | |