Tag: row预览模式: 普通 | 列表
08-03
26

SQL insert, update or delete failed (row not found) 新解

这种错误多数在update时出现,在这里如果user的主建为空的时候,就insert,如果有主键的时候才update,不然没有主键,Hibernate没有依据来更新

Tags: row not found failed update

分类:Hibernate | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 957
在借助hibernate[1] 执行更新操作,包括插入(insert)/修改(update)/删除(delete)操作的过程中,如果数据库一方返回的update count 与 hibernate 所预期的 count[2] 不同,那么hibernate 的Batcher 就会抛出异常:

HibernateException("SQL insert, update or delete failed (row not found)");

下面是一段完整的错误信息:

[ERRor][tcpConnection-8080-3] - Could not synchronize database state with session
org.springframework.orm.hibernate.HibernateSystemException: SQL insert, update or delete failed (row not found); nested exception is net.sf.hibernate.HibernateException: SQL insert, update or delete failed (row not found)
net.sf.hibernate.HibernateException: SQL insert, update or delete failed (row not found)

查看更多...

Tags: row not found failed update

分类:Hibernate | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1100
       用MS SQL2000遇到这样的问题了,我所采用的ms sql的驱动是官方的.在网上查了一下,感觉说得零零散散,模模糊糊,有错有对.真是鱼龙混杂,感觉像进了市场买菜.......我尽我的掌握和有限的水平综合起来总结一下:

        这个问题的原因是只要表里有Blob或者Clob两个当中的一种或者这两个字段都存在,并且采用MS SQL官方的驱动.就会产生这个错误!并且查看了很多资料,很多总结都指出这种错误仅MS SQL2000才会出现.

     网上总结的微软驱动的缺点及解决方案:    数据库表:TChannle

(1)如果采用jdbc-odbc驱动,那么就必须按照查询顺序来一次读取(不论有没有image或text类型)
(2)如果采用微软提供的ms sql server jdbc driver,如果查询语句中,不存在image或text类型字段,那么可以按照无序获取
(3)如果采用微软提供的ms sql server jdbc driver,如果查询语句中,存在image或text类型字段,那么就必须按照顺序读取,否则就会报告Driver]ResultSet can not re-read row data for column之类的错误

查看更多...

Tags: ResultSet re-read row data COLUMN text

分类:Hibernate | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 907