在MS Access数据库中使用备注字段时涉及的风险

MS Access中的备注字段与“文本”字段相似,因为它们允许您存储字符。 但是,文本字段的大小限制为仅255个字符,而备注字段最多允许64,000个字符。 备忘录的实际内容存储在单独的数据页中,而字段本身存储指向这些页的指针。 通过访问,您可以通过“字段大小”属性来限制文本字段的大小,但是对备注字段则不能这样做。 因此,当您的记录大于255个字符时,将使用备注字段,并且可以在不格式化的情况下对其进行存储。

备注字段通常面临的一个突出问题是,当Access处理这些字段时,它们有时会被切断。 这意味着当您执行聚合,重复数据删除或格式化时,Access最终可能会在此处理期间将备忘录截断。 此行为的原因不言而喻。 当处理涉及字符串操作时,性能可能比预期的要慢得多。 一次操作可能需要几天的时间,因为Access需要将备忘录中的数百个字符与其他备忘录字段中的数千个字符进行比较。 此外,比较可能涉及其他事项。 JET 4 MDB和ACCDB文件是UNICODE格式的。 由于有更多的磁盘读取,因此处理这些文件将花费更多时间。 由于这些原因,Access在处理备注字段时仅处理前255个字符。

备注字段比数据库中的任何其他对象更容易受到损坏。 如果指向实际备注数据的指针未正确写入该字段,则在访问该字段时可能会看到垃圾。 如果备注字段发生损坏,则可能会影响整个数据库。 即使修复了损坏,也可能会丢失备忘字段的实际数据。 当网络中的多个用户尝试将数据追加到备注字段的末尾时,该字段可能会显示一个“ #deleted”符号,表明数据已损坏。 如果用户访问此字段,它将在屏幕上显示以下错误:

“ Microsoft Jet数据库引擎停止了该过程,因为您和另一个用户试图同时更改相同的数据。”

如果您尝试<链接已删除>包含损坏的备注字段,则可能会收到错误的报告,表明修复成功。 如果您尝试压缩数据库,则可能会收到另一个错误:

'

记录无法读取; 没有对“文件名”的读取权限。 '

您可以通过以下方式删除损坏:明确删除行,然后压缩数据库。 您可以通过链接到较早的备份来重新创建备注字段并恢复该字段的内容。

防止备忘录字段损坏的一种好方法是避免使用备忘录字段或将它们存储在单独的表中,然后与第一个表建立一对一的关系。 您也可以选择使用OLE对象来存储大量文本,而不是使用备注字段。

From: https://bytes.com/topic/access/insights/947191-risks-involved-when-using-memo-fields-ms-access-databases

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值