資料類型與 XML 大量載入行為 (SQLXML 4.0)

適用於:SQL ServerAzure SQL Database

在對應架構中指定的資料類型 (XSD 或 XDR 類型和 sql:datatype) 通常會被忽略,但下列情況除外:

在 XSD 中:

  • 如果類型為dateTimetime,您必須指定sql:datatype,因為 XML 大量載入會在將資料傳送至 Microsoft SQL Server之前執行資料轉換。

  • 當您在 SQL Server 中大量載入uniqueidentifier類型的資料行,而 XSD 值是包含大括弧 ({ 和 }) 的 GUID 時,您必須指定sql:datatype=「uniqueidentifier」,才能將值插入資料行之前移除大括弧。 如果未指定 sql:datatype ,則會以大括弧傳送值,且插入失敗。

如需 sql:datatype的詳細資訊,請參閱 資料類型強制型別和 sql:datatype Annotation (SQLXML 4.0)

在 XDR 中:

  • 如果dt:typedatetimetimedateTime.tztime.tz,您必須同時指定dt:typesql:datatype資料類型,因為 XML 大量載入會在將資料傳送至SQL Server之前執行資料轉換。

  • 如果您的 XML 資料的類型為uuid,則必須指定sql:datatype;除非資料是字串資料,否則也需要dt:type=「uuid」。 如果您未指定 dt:uuid,XML 大量載入會接受具有大括弧的字串 (,並視需要將其移除) 。

  • 如果 XML 資料是 bin.base64bin.hex,您必須使用 dt:type指定 XML 資料類型。 XML 大量載入接著會將資料載入SQL Server,作為資料的十六進位標記法。