2

在过去遇到过一些 Sql Compact db 损坏问题并阅读了有关这些问题的文章后,我了解到将数据库 sdf 文件存储在存储卡上会显着增加由于 db 损坏而导致数据丢失的风险。

您是否将 sdf 文件存储在存储卡上?您是否遇到过由此引起的问题?在推荐特定品牌或型号的 SD 卡时我应该注意什么,以确保与 SQL Compact 一起使用的稳定性和安全性?

4

1 回答 1

2

将数据库放在持久存储卷(无论是卡还是内部闪存)上会增加损坏的可能性,并且几乎总是由于睡眠唤醒周期。当设备被挂起时,存储通常被卸载,当它恢复时,它被重新安装。根据 OEM 实施,连接可能会或可能不会在拆除和建立良好的情况下幸存下来(我已经看到通过睡眠/唤醒周期保持连接的设备总是会失败,但并不总是会出现损坏)。

对于设备在运行时进入挂起/睡眠状态的设备,我的典型方法是在每次与数据库“事务”后始终关闭数据库。是的,这会减慢速度,但它大大减少了损坏和连接失效。

我什至通过观察 DAL 中的电源管理器事件并让它放弃并重试它在电源状态更改期间正在处理的任何数据操作,将其推向了进一步的极端。

于 2010-04-26T12:58:07.560 回答