Condividi tramite


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

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

In XSD:

  • Se il tipo è dateTime o time, è necessario specificare sql:datatype in quanto il caricamento bulk XML esegue la conversione dei dati prima di inviare i dati a Microsoft SQL Server.

  • Quando si esegue un 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 non si specifica sql:datatype, il valore viene inviato con le parentesi graffe e l'inserimento non viene eseguito.

Per ulteriori informazioni su sql:datatype, vedere Coercizioni dei tipi di dati e annotazione sql:datatype (SQLXML 4.0).

In XDR:

  • Se dt:type è datetime, time, dateTime.tz o time.tz, è necessario specificare i tipi di dati dt:type e sql:datatype, in quanto il caricamento bulk XML esegue la conversione dei dati prima di inviarli a SQL Server.

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

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