大家有没有遇到过因为网路问题而引起的SQL操作表错误?
使用CDMA无线连接的时候,经常发现表中会有多余数据出现。
都是使用的ADO直接连接的,经检查程序本身没有什么问题。
因为好几千个企业每个月操作一次数据库,总是大概只有几个单位
会出现重复记录。具体的表结构是一个主表的一条记录,对应
字表的N条记录。经常出现主表中有记录,而字表中无记录。
或者出现主表中有记录而字表中会出现重复的2次N条记录。
请问这个问题改如何解决?
------解决方案--------------------我个人认为还是程序的问题.
比如在插入数据前由于某个判断失误而造成的.
或者在插入主表和子表后判断插入语句是否都成功?否则回滚数据.
------解决方案--------------------ROLLBACK WORK
将用户定义的事务回滚到事务的起点。
语法
ROLLBACK [ WORK ]
注释
该语句的功能与 ROLLBACK TRANSACTION 相同,除非 ROLLBACK TRANSACTION 接受用户定义的事务名称。不论是否指定可选的 WORK 关键字,该 ROLLBACK 语法都遵从 SQL-92 标准。
嵌套事务时,ROLLBACK WORK 始终回滚到最远的 BEGIN TRANSACTION 语句,并将 @@TRANCOUNT 系统函数减为 0。
权限
ROLLBACK WORK 权限默认授予任何有效用户。
------解决方案--------------------你的主表和子表沒有建產關聯
------解决方案--------------------用程序的话,不建立关联也行.
------解决方案--------------------应该是程序判断和控制问题
检查事务提交、回滚的控制。
------解决方案--------------------主表和字表应同时提交和回滚
------解决方案--------------------程序判断没有写好,要增加一个事务