请教关于数控断电保护问题
我单位有一台设备用PLC程序控制,厂家并用VB6编写一个监控软件,数据库用ACCESS做的,程序运行结束,用监控软件打印报表,但每次若运行是突然停电,数据库会损坏,要用一个空白数据库更换才能重新运行监控软件,否则无法运行,厂家说没办法解决,请教高手如何处理,谢谢,
如果是数据库损坏的问题
那就只能尽量判断出来。
每次保存数据时,保存完数据后,写一个日志文件,
关闭数据连接,然后使用 复制文件 的方法 备份一次数据库,再写一个日志文件。
当程序开始运行时,查检日志文件,如果 保存了数据,然后又备份了,也就是 日志里的记录相同,那么直接使用数据库。
当日志不相同时, 把备份数据库还原到主数据库中,再使用数据库。
当打开主数据库时,出现错误,这个可以检测一下,如打开数据表,然后读每一条记录的第一个字段,如果报错,就是数据库错误。
这时,仍然还愿备份数据库。
为了安全,备份数据库可以设为5个,分别是最后5次的数据库。
这是我想到的。
如果你懂数据库文件结构,或者打算动手改进数据保存文件,那么你可以直接二进制修复数据库。
--------------------------
如果数据,分小时,保存到 TXT 文件中,而不是数据库。这种情况下就不存在因停电而导致数据库出错。
然后一个专门程序,负责把这个TXT里的文件全部转到 数据库里去分析。
建议使用这种方法。以前看过一个题目,从题目我得出的另一个结果是:电信部门的计费系统也有些是 写 TXT 的,然后再导入数据库的。可能现在没有了。