| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 827 人关注过本帖
标题:请教关于数控断电保护问题
只看楼主 加入收藏
heming28
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-2-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
请教关于数控断电保护问题
我单位有一台设备用PLC程序控制,厂家并用VB6编写一个监控软件,数据库用ACCESS做的,程序运行结束,用监控软件打印报表,但每次若运行是突然停电,数据库会损坏,要用一个空白数据库更换才能重新运行监控软件,否则无法运行,厂家说没办法解决,请教高手如何处理,谢谢,
搜索更多相关主题的帖子: 数据库 软件 
2011-02-22 19:44
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:4 
如果是数据库损坏的问题
那就只能尽量判断出来。

每次保存数据时,保存完数据后,写一个日志文件,
关闭数据连接,然后使用 复制文件 的方法 备份一次数据库,再写一个日志文件。

当程序开始运行时,查检日志文件,如果 保存了数据,然后又备份了,也就是 日志里的记录相同,那么直接使用数据库。
当日志不相同时, 把备份数据库还原到主数据库中,再使用数据库。
当打开主数据库时,出现错误,这个可以检测一下,如打开数据表,然后读每一条记录的第一个字段,如果报错,就是数据库错误。
这时,仍然还愿备份数据库。

为了安全,备份数据库可以设为5个,分别是最后5次的数据库。

这是我想到的。
如果你懂数据库文件结构,或者打算动手改进数据保存文件,那么你可以直接二进制修复数据库。
--------------------------
如果数据,分小时,保存到 TXT 文件中,而不是数据库。这种情况下就不存在因停电而导致数据库出错。
然后一个专门程序,负责把这个TXT里的文件全部转到 数据库里去分析。

建议使用这种方法。以前看过一个题目,从题目我得出的另一个结果是:电信部门的计费系统也有些是 写 TXT 的,然后再导入数据库的。可能现在没有了。

授人于鱼,不如授人于渔
早已停用QQ了
2011-02-22 20:13
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:4 
ACCESS数据库因停电而造成损坏的情况,我还真没遇到过。
1、不能安装UPS不间断电源吗?
2、楼主可以测试一下,用ACCESS程序是不是可以直接打开那个数据库文件。如果不能的话,说明该文件头经过开发人员加密了,厂家肯定能解决的。

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2011-02-22 21:43
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:4 
最好加UPS,保证计算机能安全关机,这样数据库也就不会坏了。

无知
2011-02-22 22:41
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:4 
要备份吧。

   唯实惟新 至诚致志
2011-02-23 07:27
heming28
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-2-22
收藏
得分:0 
用ACCESS程序是可以直接打开那个数据库文件,但用监控软件就出现错误,
2011-02-23 08:22
快速回复:请教关于数控断电保护问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032705 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved