Tipos de datos y comportamiento de la carga masiva XML (SQLXML 4.0)

Generalmente se omiten los tipos de datos que se especifican en el esquema de asignación (XSD o tipo XDR y sql:datatype), excepto en los casos siguientes:

En XSD:

  • Si el tipo es dateTime o time, debe especificar sql:datatype porque la carga masiva XML realiza la conversión de datos antes de enviarlos a SQL Server.

  • Cuando realiza cargas masivas en una columna de tipo uniqueidentifier en SQL Server, y el valor XSD es un GUID que incluye llaves ({y}), debe especificar sql:datatype="uniqueidentifier" para quitar las llaves antes de que el valor se inserte en la columna. Si no se especifica sql:datatype, el valor se envía con las llaves y se produce un error en la inserción.

Para obtener más información acerca de sql:datatype, vea Conversión de tipos de datos y la anotación sql:datatype (SQLXML 4.0).

En XDR:

  • Si dt:type es datetime, time, dateTime.tz o time.tz, debe especificar los tipos de datos sql:datatype y dt:type porque la carga masiva XML realiza la conversión de datos antes de enviar los datos a SQL Server.

  • Si sus datos XML son del tipo uuid, se debe especificar sql:datatype; también se requiere dt:type="uuid**"** , a menos que los datos sean datos de cadena. Si no especifica dt:uuid, la carga masiva XML acepta cadenas con llaves (y las quita si es necesario).

  • Si los datos XML son bin.base64 o bin.hex, debe especificar el tipo de datos XML con dt:type. A continuación, la carga masiva XML carga los datos en SQL Server como una representación hexadecimal de los datos.