0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术CE6.0内置数据库CEDB的异常检测与修复简介

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-02-05 11:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

CEDB简介

CEDB是一个功能简单的WINCE系统内置数据库,WINCE系统里使用CEDB生成多个数据库来存储一些简单的系统信息。比如回收站信息,还比如“事件-应用”对应表。

“事件-应用”对应表由调用CeRunAppAtEvent函数产生,设置系统收到指定事件event后执行指定的exe进程。比如用Visual Studio调试程序时需要连接USB,USB连接时,会产生NOTIFICATION_EVENT_RS232_DETECTED事件,系统便会启动repllog.exe进行调试方面设置。

系统CEDB数据库异常现象

我们发现系统CEDB数据库中,“事件-应用”对应表在日常调试时,有极小概率出现数据库异常。当该数据库数据异常时:

1、会出现ACTIVESYNC连接故障,我们此前采用格式化nandflash来解决该故障:《WinCE下ActiveSync连接故障分析》。

2、在问题严重时,系统的启动会变得缓慢。

3、进一步,在启动时USBOTG处于连接状态,系统则会不停打印“+OEMSetAlarmTime”信息,且无法正常完成启动,系统重启。

产生原因

1、在调试时,如果USB连接不稳定,时断时连。系统可能错误的向“事件-应用”对应表添加重复的“NOTIFICATION_EVENT_RS232_DETECTED - repllog.exe”记录项。

2、重复的数据库记录项会重复启动repllog.exe进程,导致ACTIVESYNC设置失败。

3、ACTIVESYNC设置失败后,系统又会错误的继续向CEDB中添加重复的“NOTIFICATION_EVENT_RS232_DETECTED - repllog.exe”事件记录项。并且因为系统无法正确清理重复项,导致数据库不断变大。

4、最后该CEDB中存储了上千条重复项,因为系统启动时频繁检索数据库内所有项,过多的重复项导致系统在启动时非常缓慢。

5、系统启动缓慢到一定程序时,连接的USBOTG会导致数据库记录进一步出错。系统重复打印的“+OEMSetAlarmTime”即是CEDB在添加重复项时打印的信息。

解决方案

“事件-应用”对应表默认数据库文件为“\NandFlash\Documents and Settings\default.vol”,重置该文件即可解决该问题。

格式化nandflash

见《WinCE下ActiveSync连接故障分析》,格式化nandflash后default.vol被重置,问题修复。但是nandflash下文件会被清空,注册表也会被重置。

清除CEDB多余项

调试API函数逐条清空数据项。

HANDLE *hNotifications = NULL;

DWORD NumNotifications;

DWORD Count;

CeGetUserNotificationHandles( hNotifications, 0, &NumNotifications );

hNotifications = (HANDLE *)malloc( NumNotifications * sizeof( HANDLE *));

CeGetUserNotificationHandles( hNotifications, NumNotifications, &NumNotifications );

for( Count = 0; Count < NumNotifications, Count<100; Count++ )

{

bRet = CeClearUserNotification(hNotifications[Count]);

}

free( hNotifications );

因为CEDB访问速度较慢,清理起来时间很长,所以不建议采用该方法。

通过2次重启,删除default.vol文件

因为default.vol为系统文件,无法直接删除。所以可以通过以下办法单单删除default.vol文件,同时保留数据库文件及nandflash下其它文件。

1、判断CEDB里的数据是否有异常。如果异常,则执行恢复。

2、修改\NandFlash\Documents and Settings目录为\NandFlash\Documents and Settings0,并重启(重启之前无法对Documents and Settings里的文件进行操作)。

3、重启后,系统判断没有Documents and Settings目录,因此会重置生成一个新的Documents and Settings目录。至此,故障已经修复,但是注册表等其他文件也重置了,还需要以下步骤将Documents and Settings0里的注册表文件恢复回去。

4、删除default.vol文件。

修改新生成的\NandFlash\Documents and Settings目录为\NandFlash\Documents and Settings1。

修改原来的\NandFlash\Documents and Settings0目录为\NandFlash\Documents and Settings。

再次重启。

5、重启后,注册表重新恢复,Documents and Settings里其它文件保持原状态,只有default.vol文件进行了重置。

可以删除已经无用的多余的\NandFlash\Documents and Settings1目录,腾出磁盘空间。

英创提供了修复程序及源代码,有需要的客户可以联系英创工程师获得。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6107

    浏览量

    37206
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【米尔TI AM62L开发板试用】+数据库操作及功能测试

    的是,这个轻量级的数据库竟然支持中文信息处理。 图2 创建数据库 (3)删除记录 删除记录的操作如图3所示,在完成记录删除后,可见到只有一条记录存在。 图3 完成删除 (4)增加记录 为进行查询测试
    发表于 05-11 11:31

    泊沧数据码科技达成商业合作,以国产数据底座加速AI硬件自主创新

    泊沧数据与国内AI计算头部企业——广州信息科技有限公司(简称:码科技),正式签署商业合同。码科技通过国
    的头像 发表于 05-09 17:33 1403次阅读
    泊沧<b class='flag-5'>数据</b>与<b class='flag-5'>英</b>码科技达成商业合作,以国产<b class='flag-5'>数据</b>底座加速AI硬件自主创新

    瀚高数据库深度参编国家标准《信息技术 云原生关系数据库管理系统技术要求》正式发布

    济南2026年4月15日 /美通社/ -- 近日,国家市场监督管理总局、国家标准化管理委员会正式发布国家标准 GB/T 47343-2026《信息技术 云原生关系数据库管理系统技术要求》。作为我国
    的头像 发表于 04-15 16:41 415次阅读

    Oracle数据库ASM实例无法挂载的数据恢复案例

    一个Oracle数据库故障表现为ASM磁盘组掉线,ASM实例无法挂载(mount)。数据库管理员自行进行简单修复,未能成功,随后联系北亚数据恢复中心恢复
    的头像 发表于 02-24 15:19 290次阅读
    Oracle<b class='flag-5'>数据库</b>ASM实例无法挂载的<b class='flag-5'>数据</b>恢复案例

    国产数据库的AI战事

    国产数据库硝烟再起,Vastbase V100构筑企业智能基座
    的头像 发表于 10-24 20:45 4568次阅读
    国产<b class='flag-5'>数据库</b>的AI战事

    电能质量在线监测装置异常数据会自动修复吗?

    电能质量在线监测装置对异常数据的处理能力取决于具体技术方案和异常类型。现代高端装置通常具备有限的自动修复能力,但需结合人工审核和硬件维护,形成 “自动
    的头像 发表于 10-15 16:07 573次阅读

    电能质量在线监测装置能自动修复采样异常数据吗?

    在电能质量在线监测领域,符合行业标准的高端装置已具备部分自动修复采样异常数据的能力,但其实现方式和效果取决于数据异常类型、装置技术方案及配置
    的头像 发表于 09-26 09:22 690次阅读
    电能质量在线监测装置能自动<b class='flag-5'>修复</b>采样<b class='flag-5'>异常数据</b>吗?

    数据库性能优化指南

    作为一名在大厂摸爬滚打多年的运维老兵,我见过太多因为数据库性能问题导致的生产事故。今天分享一套完整的数据库优化方法论,从SQL层面到硬件配置,帮你彻底解决性能瓶颈!
    的头像 发表于 08-18 11:21 972次阅读

    数据库数据恢复—服务器异常断电导致Oracle数据库故障的数据恢复案例

    备份,仅有一些断断续续的归档日志。 Oracle数据库恢复流程: 1、检测数据库故障情况; 2、尝试挂起并修复数据库; 3、解析数据库
    的头像 发表于 07-24 11:12 935次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—服务器<b class='flag-5'>异常</b>断电导致Oracle<b class='flag-5'>数据库</b>故障的<b class='flag-5'>数据</b>恢复案例

    三款主流国产数据库技术特点

    随着数字经济的快速发展和数据安全要求的提升,国产数据库正迎来前所未有的发展机遇。在信浪潮推动下,达梦数据库、TiDB、华为高斯数据库等国产
    的头像 发表于 07-14 11:08 1419次阅读

    数据库数据恢复—MongoDB数据库文件丢失的数据恢复案例

    MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍
    的头像 发表于 07-01 11:13 874次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—MongoDB<b class='flag-5'>数据库</b>文件丢失的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—SQL Server数据库被加密如何恢复数据

    SQL Server数据库故障: SQL Server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。
    的头像 发表于 06-25 13:54 929次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—SQL Server<b class='flag-5'>数据库</b>被加密如何恢复<b class='flag-5'>数据</b>?

    科普|信是什么?一文读懂“信息技术应用创新”战略

    什么是信?信,即“信息技术应用创新”,是国家推动IT系统自主可控、安全可控的重要战略工程。它不仅是技术层面的创新,更承载着保障国家网络安全、推动产业升级和实现数字主权的重任。简单来
    的头像 发表于 06-13 10:06 9891次阅读
    科普|信<b class='flag-5'>创</b>是什么?一文读懂“<b class='flag-5'>信息技术</b>应用创新”战略

    oracle数据恢复—oracle数据库误执行错误truncate命令如何恢复数据

    oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下,oracle数据库误操作删除数据只需要通过备份恢复数据
    的头像 发表于 06-05 16:01 2029次阅读
    oracle<b class='flag-5'>数据</b>恢复—oracle<b class='flag-5'>数据库</b>误执行错误truncate命令如何恢复<b class='flag-5'>数据</b>?

    SQLSERVER数据库是什么

    SQL Server 是由微软公司开发的一款 关系型数据库管理系统(RDBMS) ,用于存储、管理和检索结构化数据。它是企业级应用中广泛使用的数据库解决方案之一,尤其适用于Windows平台,但也
    的头像 发表于 05-26 09:19 1367次阅读