Compartir vía


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

Se aplica a: SQL ServerAzure SQL Database

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

En XSD:

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

  • Cuando se carga masivamente 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 insertar el valor 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 sobre sql:datatype, vea Coerciones 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 dt:type y sql:datatype porque la carga masiva XML realiza la conversión de datos antes de enviar los datos a SQL Server.

  • Si los datos XML son de tipo uuid, se debe especificar sql:datatype ; dt:type="uuid" también es necesario, 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. Carga masiva XML carga los datos en SQL Server como una representación hexadecimal de los datos.