Tipi di dati e comportamento del caricamento bulk XML (SQLXML 4.0)

Si applica a: SQL Server Azure SQL Database

I tipi di dati specificati nello schema di mapping (tipo XSD o XDR e sql:datatype) vengono in genere ignorati, tranne nei casi seguenti:

In XSD:

  • Se il tipo è dateTime o ora, è necessario specificare il tipo sql:datatype perché il carico bulk XML esegue la conversione dei dati prima di inviare i dati a Microsoft SQL Server.

  • Quando si esegue il caricamento bulk in una colonna di tipo uniqueidentifier in SQL Server e il valore XSD è un GUID che include parentesi graffe ({ e }), è necessario specificare sql:datatype="uniqueidentifier" per rimuovere le parentesi graffe prima che il valore venga inserito nella colonna. Se sql:datatype non è specificato, il valore viene inviato con le parentesi graffe e l'inserimento ha esito negativo.

Per altre informazioni su sql:datatype, vedere Coercioni dei tipi di dati e l'annotazione sql:datatype (SQLXML 4.0).

In XDR:

  • Se dt:type è datetime, time, dateTime.tz o time.tz, è necessario specificare sia i tipi di dati dt:type che sql:datatype perché il caricamento bulk XML esegue la conversione dei dati prima di inviare i dati a SQL Server.

  • Se i dati XML sono di tipo uuid, è necessario specificare sql:datatype ; dt:type="uuid" è necessario anche, a meno che i dati non siano dati stringa. Se non si specifica dt:uuid, il carico bulk XML accetta stringhe con parentesi graffe e le rimuove se necessario.

  • Se i dati XML sono bin.base64 o bin.hex, è necessario specificare il tipo di dati XML con dt:type. Caricamento bulk XML carica quindi i dati in SQL Server come rappresentazione esadecimale dei dati.