Informazioni sui file di formato XML

MicrosoftMicrosoftSQL Server 2005 e versioni successive forniscono uno schema XML che definisce la sintassi per la scrittura di file di formato XML. I file di formato XML devono essere conformi a questo schema, definito in XML Schema Definition Language (XSDL). I file di formato XML sono supportati solo quando gli strumenti di SQL Server vengono installati insieme a SQL Server Native Client.

[!NOTA]

SQL Server 2005 e versioni successive supportano due tipi di file di formato. MicrosoftSQL Server 2000 e versioni precedenti supportano unicamente un tipo di file di formato. Per distinguere il tipo precedente dai file di formato XML, il tipo precedente di file di formato è denominato file di formato non XML.

È possibile utilizzare i file di formato XML per eseguire importazioni bulk di dati in tabelle o in viste non partizionate e per eseguire esportazioni bulk di dati. I file di formato XML rappresentano un'alternativa ai file di formato non XML, che sono supportati in SQL Server 2000 e versioni precedenti (e sono ancora supportati). I file di formato XML sono più flessibili ed efficienti rispetto ai file di formato non XML. Sono inoltre più semplici da capire e da creare e sono più leggibili, semplificando la comprensione della modalità di interpretazione dei dati durante le operazioni bulk. La codifica XML descrive in modo semplice i tipi di dati e gli elementi dati del file di dati, nonché il mapping tra gli elementi dati e le colonne della tabella.

È possibile apportare miglioramenti a un file di formato XML, mantenendolo tuttavia compatibile con le versioni precedenti. La semplicità della codifica XML facilita inoltre la creazione di più file di formato per un file di dati specifico, il che risulta utile nel caso sia necessario eseguire il mapping di tutti i campi dati o parte di essi a colonne di tabelle o viste diverse.

Il comando bcp consente di generare automaticamente un file di formato XML per una tabella. Per ulteriori informazioni, vedere Utilità bcp.

Struttura dei file di formato XML

Allo stesso modo di un file di formato non XML, un file di formato XML definisce il formato e la struttura dei campi dati di un file di dati ed esegue il mapping di tali campi alle colonne di una singola tabella di destinazione.

Un file di formato XML include due componenti principali, <RECORD> e <ROW>:

  • <RECORD> descrive i dati archiviati nel file di dati.

    Ogni elemento <RECORD> include un set contenente uno o più elementi <FIELD>. Questi elementi corrispondono ai campi del file di dati. La sintassi di base è la seguente:

    <RECORD>

       <FIELD .../> [ ...n ]

    </RECORD>

    Ogni elemento <FIELD> descrive il contenuto di un campo dati specifico. È possibile mappare un campo unicamente a una colonna della tabella. Non è tuttavia necessario mappare tutti i campi a colonne.

    Un campo di un file di dati può essere a lunghezza fissa o variabile oppure può terminare con un carattere. Un valore del campo può essere rappresentato da un carattere (rappresentazione a un byte), da un carattere esteso (rappresentazione Unicode a due byte), da un formato nativo del database o da un nome di file. Se un valore del campo è rappresentato da un nome di file, tale nome punta al file contenente il valore di una colonna BLOB della tabella di destinazione.

  • <ROW> descrive come creare righe di dati da un file di dati quando i dati del file vengono importati in una tabella di SQL Server.

    Un elemento <ROW> include un set di elementi <COLUMN>. Questi elementi corrispondono alle colonne della tabella. La sintassi di base è la seguente:

    <ROW>

       <COLUMN .../> [ ...n ]

    </ROW>

    Ogni colonna <COLUMN> può essere mappata a un solo campo nel file di dati. L'ordine degli elementi <COLUMN> nell'elemento <ROW> definisce l'ordine in cui tali elementi vengono restituiti dall'operazione bulk. Il file di formato XML assegna ogni elemento <COLUMN> a un nome locale senza alcuna relazione con la colonna nella tabella di destinazione di un'operazione di importazione bulk.

Argomenti aggiuntivi