数据一致性问题

xingyunzt 2004-10-13 09:49:16
在操作数据库的时候,可以通过事务来保证数据的一致性。如果是同事操作数据库和XML 文件又没有什么方法做到这一点?
...全文
162 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Functions 2004-10-15
  • 打赏
  • 举报
回复
可以。你将修改文件放到事务里面。
如果增加table数据,出错,回滚,不再继续。
如果增加table数据成功,但是增加xml文件节点出错,照样可以回滚,放弃对表的修改。
这样可以实现你的要求么?
xingyunzt 2004-10-14
  • 打赏
  • 举报
回复
我现在不郁闷了,因为刚才我自己的回复内容没有,
但是时间却变成了2004-10-14 11:....(刚才回复的时间)
CSDN都能出现这样的问题,我就不用费劲了。
General521 2004-10-14
  • 打赏
  • 举报
回复
用事务:
set xact_abort on
begin transaction
多条更新语句
commit transaction
set xact_abort off
Functions 2004-10-14
  • 打赏
  • 举报
回复
事务的隔离保证你的数据的一致性嘛,启用事务就行了。

事务
事务是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:

原子性

事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。

一致性

事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。

隔离性

由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。

持久性

事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。

xingyunzt 2004-10-14
  • 打赏
  • 举报
回复
想想还真丢脸,一句话里俩错别字。
不好意思给大家添麻烦了!这回应该没错了吧。

在操作数据库的时候,可以通过事务来保证数据的一致性。
如果是同时操作数据库和XML 文件有没有什么方法做到这一点?
xingyunzt 2004-10-14
  • 打赏
  • 举报
回复
估计大家是被我帖子里的“同事”误导了,实在是不好意思,我是想说“同时”,抱歉!
xingyunzt 2004-10-14
  • 打赏
  • 举报
回复
谢谢大家的帮助
但我想说的是

事务

这东西我还是知道的,虽然不能把它的性质背出来,但是用还是经常用的
我又仔细看了自己发的帖子,表达的是不太清楚,
举个例子也许好点:
假设数据库中有一个表 table1,另外有一个 XML 文件
我要在 table1 中添加10条记录,同时也要在XML 文件中添加10个节点。
按照“事务”的概念,启动事务后,如果在添加第9条记录时出错,
那么前面的8条记录也要回滚。
但是现在多了一个XML 文件,如果是在给XML 文件添加到第8个节点时出错
能做到将前面的7个节点和 table1 中的10条记录也回滚吗?



写得越多越不知道自己在说什么?希望大家能尽量明白。
522jack 2004-10-14
  • 打赏
  • 举报
回复
up
Functions 2004-10-14
  • 打赏
  • 举报
回复
程序有问题总是难免的嘛。现在程序大都比较庞大,业务规则复杂。严谨形稍微出现一点儿问题,就可能出现错误。
搂主不必郁闷,但对于我们程序的正确性来讲,可不能马虎。
xingyunzt 2004-10-13
  • 打赏
  • 举报
回复
是我的问题太弱智了还是太难了?
怎么没人理呢?
xingyunzt 2004-10-13
  • 打赏
  • 举报
回复
哎,自己UP一下
pjy 2004-10-13
  • 打赏
  • 举报
回复
你把操作数据库的语句放在一个事务中执行,就可以保证这些处理一起成功或者失败呀,从而保证数据一致性。
和谁使用没有关系!

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧