【问题标题】:SQL Server 2008 XML changes on insert插入时的 SQL Server 2008 XML 更改
【发布时间】:2012-10-11 15:30:10
【问题描述】:

我在使用 SQL Server 2008 将 XML 插入表中的 XML 列时遇到问题。

我插入

<test></test>

SQL Server 列将其存储为:

<test />

现在,我知道最新的表单实际上是正确的,而第一个表单并不是真正正确的 XML 语法,但我必须保留 XML,因为它是从客户导入的。在它的原始形式。

我们已经使用 DB2 多年了,DB2 不会改变您插入的 XML。

所以我的问题是...是否可以在 SQL Server 2008 中禁用 XML 列的 XML 优化?

【问题讨论】:

    标签: xml sql-server-2008


    【解决方案1】:

    SQL Server 将以优化的形式存储语义正确的 XML 表示;它不是您输入的实际字符串被存储(它被解析为 XML“片段”,并且以优化的方式存储)。

    但是您不能强制从 XML 列再次呈现相同的表示形式 - SQL Server 将呈现出它认为 XML 内容的最佳字符串表示形式。

    如果您真的需要 100% 相同的表示,那么您需要将 XML 存储为字符串列((n)varchar(x) - 或 (n)varchar(max),如果您需要超过 8000 个字节存储)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-16
      • 1970-01-01
      • 2013-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      相关资源
      最近更新 更多