共用方式為


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

除了在下列情況下之外,在對應結構描述 (XSD 或 XDR 類型和 sql:datatype) 中指定的資料類型通常會遭到忽略:

在 XSD 中:

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

  • 當您要在 SQL Server 中大量載入 uniqueidentifier 類型的資料行,而且 XSD 值是包含大括號 ({ and }) 的 GUID,您必須在將值插入資料行之前指定 sql:datatype="uniqueidentifier" 移除大括號。如果未指定 sql:datatype,值會跟著大括號傳送出去,而且插入動作會失敗。

如需有關 sql:datatype 的詳細資訊,請參閱<資料類型強制型轉和 sql:datatype 註解 (SQLXML 4.0)>。

在 XDR 中:

  • 如果 dt:type 為 datetime、time、dateTime.tz 或 time.tz,您必須同時指定 dt:type 和 sql:datatype 資料類型,因為 XML 大量載入會在將資料傳送到 SQL Server 之前,先執行資料轉換。

  • 如果您的 XML 資料屬於 uuid 類型,必須指定 sql:datatype;除非資料是字串資料,否則也需要 dt:type="uuid**"**。如果您沒有指定 dt:uuid,XML 大量載入會接受包含大括號的字串 (並在需要時移除)。

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