Condividi tramite


File in formato non XML (SQL Server)

In SQL Server 2012, sono supportati due tipi di file di formato per l'esportazione e l'importazione bulk: file di formato non XML e file di formato XML.

Contenuto dell'argomento:

  • Vantaggi

  • Struttura dei file di formato non XML

  • Esempio di file di formato non XML

  • Attività correlate

Vantaggi dei file di formato non XML

  • È possibile creare automaticamente un file di formato non XML specificando l'opzione format nel comando bcp.

  • Quando si specifica un file di formato esistente in un comando bcp, quest'ultimo utilizza i valori registrati nel file di formato e non richiede il tipo di archiviazione di file, la lunghezza del prefisso, la lunghezza del campo o il carattere di terminazione del campo.

  • È possibile creare un file di formato per un particolare tipo di dati quali dati di tipo carattere o dati nativi.

    È possibile creare un file di formato non XML contenente attributi specificati in modo interattivo per ogni campo dati. Per ulteriori informazioni, vedere Impostazione dei formati di dati per la compatibilità mediante bcp (SQL Server).

[!NOTA]

I file di formato XML offrono diversi vantaggi rispetto ai file di formato non XML. Per ulteriori informazioni, vedere File in formato XML (SQL Server).

Icona freccia utilizzata con il collegamento Torna all'inizio[Torna all'inizio]

Struttura dei file di formato non XML

Un file di formato non XML è un file di testo con una struttura specifica. Il file di formato non XML contiene informazioni sul tipo di archiviazione di file, sulla lunghezza del prefisso, sulla lunghezza del campo e sul carattere di terminazione del campo di ogni colonna della tabella.

Nella figura seguente vengono illustrati i campi del file di formato per un file di formato non XML di esempio.

Identifica i campi di un file di formato non XML

I campi Versione e Numero di colonne sono presenti una sola volta. I significati di questi campi sono descritti nella tabella seguente.

Campo del file di formato

Descrizione

Versione

Numero di versione dell'utilità bcp:

9.0 = SQL Server 2005 

10.0 = SQL Server 2008

11.0 = SQL Server 2012

Il numero di versione viene riconosciuto solo dall'utilità bcp, non da Transact-SQL.

[!NOTA]

La versione dell'utilità bcp (Bcp.exe) utilizzata per leggere un file di formato deve essere uguale o successiva alla versione utilizzata per creare il file di formato. L'utilità bcp di SQL Server 2008 è ad esempio in grado di leggere un file di formato versione 9.0 generato dall'utilità bcp di SQL Server 2005, ma l'utilità bcp di SQL Server 2005 non è in grado di leggere un file di formato versione 10.0 generato dall'utilità bcp di SQL Server 2008.

Numero di colonne

Numero di campi del file di dati. Tutte le righe devono contenere lo stesso numero di campi.

Gli altri campi del file di formato descrivono i campi dati di cui viene eseguita l'importazione o l'esportazione bulk. Per ogni campo dati è necessaria una riga separata nel file di formato. Ogni riga del file di formato contiene i valori dei campi del file di formato descritti nella tabella seguente.

Campo del file di formato

Descrizione

Ordine dei campi nel file host

Numero che indica la posizione di ogni campo nel file di dati. Il primo campo della riga è 1 e così via.

Tipo di dati del file host

Indica il tipo di dati archiviati in un determinato campo del file di dati. Per i file di dati ASCII, utilizzare SQLCHAR. Per i file di dati in formato nativo, utilizzare i tipi di dati predefiniti. Per ulteriori informazioni, vedere Specifica del tipo di archiviazione di file tramite bcp (SQL Server).

Lunghezza del prefisso

Numero di caratteri della lunghezza del prefisso per il campo. Le lunghezze del prefisso valide sono 0, 1, 2, 4 e 8. Per evitare di specificare la lunghezza del prefisso, impostarlo su 0. È necessario specificare una lunghezza per il prefisso se il campo contiene valori di dati NULL. Per ulteriori informazioni, vedere Specificare la lunghezza del prefisso nei file di dati tramite bcp (SQL Server).

Lunghezza dei dati del file host

Lunghezza massima, in byte, del tipo di dati archiviati nel campo specifico del file di dati.

Se si sta creando un file di formato non XML per un file di testo delimitato, è possibile specificare il valore 0 per la lunghezza dei dati del file host di ogni campo dati. Quando viene importato un file di testo delimitato con una lunghezza del prefisso uguale a 0 e un carattere di terminazione, il valore relativo alla lunghezza del campo viene ignorato, in quanto lo spazio di archiviazione utilizzato dal campo equivale alla lunghezza dei dati più il carattere di terminazione.

Per ulteriori informazioni, vedere Definizione della lunghezza di campo tramite bcp (SQL Server).

Carattere di terminazione

Delimitatore di separazione dei campi di un file di dati. I caratteri di terminazione più comuni sono la virgola (,), il carattere di tabulazione (\t) e i caratteri di fine riga (\r\n). Per ulteriori informazioni, vedere Impostazione dei caratteri di terminazione del campo e della riga (SQL Server).

Ordine delle colonne nel server

Ordine in cui sono disposte le colonne nella tabella SQL Server. Se, ad esempio, il quarto campo del file di dati esegue il mapping alla sesta colonna di una tabella di SQL Server, l'ordine delle colonne nel server per il quarto campo è 6.

Per impedire che una colonna della tabella riceva dati dal file di dati, impostare il valore dell'ordine delle colonne del server su 0.

Nome della colonna del server

Nome della colonna copiata dalla tabella SQL Server. Il nome effettivo del campo non è obbligatorio, ma il campo nel file di formato non può essere vuoto.

Regole di confronto a livello di colonna

Regole di confronto utilizzate per archiviare i dati di tipo carattere e Unicode nel file di dati.

[!NOTA]

È possibile modificare un file di formato per consentire l'importazione bulk da un file di dati in cui il numero o l'ordine dei campi è diverso dal numero o dall'ordine delle colonne della tabella. Per ulteriori informazioni, vedere l'elenco Attività correlate più avanti in questo argomento.

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Esempio di file di formato non XML

Nell'esempio seguente viene illustrato un file di formato non XML creato in precedenza (myDepartmentIdentical-f-c.fmt). Questo file descrive un campo dati di tipo carattere per ogni colonna della tabella HumanResources.Department nel database di esempio AdventureWorks.

Il file di formato generato, myDepartmentIdentical-f-c.fmt, contiene le informazioni seguenti:

11.0
4
1       SQLCHAR       0       7       "\t"     1     DepartmentID     ""
2       SQLCHAR       0       100     "\t"     2     Name             SQL_Latin1_General_CP1_CI_AS
3       SQLCHAR       0       100     "\t"     3     GroupName        SQL_Latin1_General_CP1_CI_AS
4       SQLCHAR       0       24      "\r\n"   4     ModifiedDate     ""

[!NOTA]

Per una figura in cui vengono illustrati i campi del file di formato in relazione a questo file di formato non XML di esempio, vedere Struttura dei file di formato non XML più indietro in questo argomento.

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Attività correlate

[Inizio pagina]

Vedere anche

Riferimento

Utilità bcp

Concetti

Creazione di un file di formato (SQL Server)

File in formato XML (SQL Server)

File di formato per l'importazione o l'esportazione di dati (SQL Server)