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


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

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

В XSD

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

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