【问题标题】:Store persisted dataset as XML将持久化数据集存储为 XML
【发布时间】:2022-01-22 07:40:58
【问题描述】:

我将 ADO.NET 数据集保存为结构化 XML 文件。现在我遇到了一种情况,我的应用程序不再被允许使用网络中的文件。一切都必须基于 SQL Server。我的问题是关于将这些持久数据集作为FILETABLE 自动导入SQL Server 或导入具有ColumnType XML 的表的方法。但是,有没有办法使用 SQL 查询位于 FILETABLE 或 XML 列中的 DataSet 内的表?

【问题讨论】:

  • “但是,有没有办法使用 SQL 查询位于 XML 列中 [...] 的 DataSet 中的表?” -- 不是 SQL,但有 a subset of XQuery。但是,如果您有固定的模式,最好将其转换为普通的关系表而不是 XML。
  • 如果您存储的 XML 没有固定模式,那么您最终也必须动态构建 XQuery 语句;这将是一场噩梦(尤其是如果您不知道自己在做什么)。如果它们没有固定的定义,那么 SQL Server 甚至关系数据库真的是正确的选择吗?

标签: sql-server xml dataset


【解决方案1】:

有没有办法使用 SQL 查询位于 FILETABLE 或 XML-Column 中的 DataSet 内的表?

当然。 XML 数据类型具有 .query().value() 方法,可用于解析和导航存储在 SQL Server 中的 XML 文档。

以及旧的OPENXML XML 解析和查询功能。

您可以阅读FileTables with TSQL,如果文档存储为字符串或blob,您可以按需转换为XML。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 2011-11-24
    • 1970-01-01
    • 2012-04-15
    • 2012-09-06
    相关资源
    最近更新 更多