【问题标题】:Storing XML Audit data to File System or to MS Access table?将 XML 审计数据存储到文件系统或 MS Access 表?
【发布时间】:2010-07-29 12:20:26
【问题描述】:

我的程序需要开始审核用户保存的 XML 数据。每当用户点击“保存”时;我需要插入他当前的数据(序列化为 XML)并将其保存在某处。以下是更好的选择:

  1. 创建一个文本文件并将所有 xml 放入其中。 (创建一个 每次保存一个新的文本文件)
  2. 在 MS Access 中使用表

我正在使用 .Net 2.0 / MS Access 2003

【问题讨论】:

  • 哎呀,这是怎么回事?

标签: .net xml ms-access audit-trail


【解决方案1】:

在任何 DBMS 中使用表而不是文件存储的好处:

  • 之后通过查询查询/挖掘数据的能力
  • 以事务方式备份数据的能力

对于文件系统上的 xml 文件,您将需要提出“唯一文件命名”的策略,并克服每个文件夹可以存储多少文件等限制。

在某些 RDBMS 中,Xml 是第一类数据类型(不幸的是,不适用于 MS Access),所以:

  • 可以使用 XPath 查询您的 Xml,例如使用 XQuery。
  • 在许多 RDBMS(例如 Sql Server)中,还可以在 Xml 中创建索引以提高上述查询的性能。

但是,在 Access 中,您需要使用 maximum document size of 1Gb in Access 2010 存储在 Memo field 中。

TL;DR :如果您已经在使用数据库,请将 Xml 存储在其中。

【讨论】:

  • 非常正确,我想我的问题是 MS Access 中的哪种数据类型可以保存 XML 数据?备忘录?
  • 是的,备注字段可以正常工作,或者如果您知道长度不会大于 255,那么您可以使用普通文本字段
  • @kevin 是的,它肯定会 b3 > 255。备忘录效果很好。谢谢
  • 还有索引可以加快搜索数据的速度。从理论上讲,您可以将 XML 加载到 ADO 记录集中并添加虚拟索引并获得性能优势,但何必呢?
  • 备注字段(Access 2013+ 中的“长文本”字段)不限于 64K 字符。 64K 字符限制适用于文本框控件的内容,而不是备注字段本身。
猜你喜欢
  • 1970-01-01
  • 2021-05-31
  • 1970-01-01
  • 1970-01-01
  • 2012-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-29
相关资源
最近更新 更多