Поделиться через


Типы данных и массовая загрузка XML (SQLXML 4.0)

Область применения: SQL Server База данных SQL Azure

Типы данных, указанные в схеме сопоставления (тип XSD или XDR и sql:datatype), обычно игнорируются, за исключением следующих случаев:

В XSD.

  • Если тип — dateTime или time, необходимо указать sql:datatype, так как массовая загрузка XML выполняет преобразование данных перед отправкой данных в Microsoft SQL Server.

  • При массовой загрузке в столбец уникального типа ididentifier в SQL Server, а значение XSD — это GUID, включающий фигурные скобки ({ и }), необходимо указать sql:datatype="uniqueidentifier" , чтобы удалить фигурные скобки перед вставкой значения в столбец. Если sql:datatype не указан, значение отправляется с фигурными скобками, а вставка завершается ошибкой.

Дополнительные сведения о sql:datatype см. в статьях "Приведение типов данных" и заметка sql:datatype (SQLXML 4.0).

В XDR:

  • Если тип dt:typedatetime, 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, необходимо указать тип XML-данных с типом dt:type. Затем массовая загрузка XML загружает данные в SQL Server в виде шестнадцатеричного представления данных.