我目前正在研究在 SQL Server 2000 中存储 XML 文件的最佳方式。
我不一定需要映射 XML 字段并将 XML 文件分解到数据库中。我真的只是在寻找一种将整个文件保存在 SQL Blob 字段或类似内容中的方法。
基本上,我将从一个类型化数据集转换为该类型化数据集的 XML 表示。
然后,我想获取该 XML 文件并将其存储在 SQL Server 中以供以后检索。
我目前正在研究在 SQL Server 2000 中存储 XML 文件的最佳方式。
我不一定需要映射 XML 字段并将 XML 文件分解到数据库中。我真的只是在寻找一种将整个文件保存在 SQL Blob 字段或类似内容中的方法。
基本上,我将从一个类型化数据集转换为该类型化数据集的 XML 表示。
然后,我想获取该 XML 文件并将其存储在 SQL Server 中以供以后检索。
我会使用 IMAGE 类型,而不是任何类型的 TEXT。虽然我没有争论 Rickard Andersson 所说的内容,XML is text
但我仍然记得一个问题,由于 XML 处理指令编码声明的组合,当作为文本读取时(如在XmlDocument.LoadXml中),带有法语字符的 XML 的内容会被破坏, 数据库中的字符集(也许还有别的);基本上往返不起作用(写/读)。
使用二进制存储,它可以保证工作,因为您的应用程序完全控制二进制流的编码/解码。您还可以很容易地使用压缩,如果您的 XML 文件很大或将来会变大,这是一个非常需要的功能。
唯一的缺点与更容易“窥视”XML 的能力有关(即工具不会尝试向您显示文本,而是十六进制字节)。否则,全文索引可以正常工作......