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).
[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.
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.
|
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.
[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.
[Inizio pagina]
Attività correlate
Utilizzo di un file di formato per l'importazione bulk dei dati (SQL Server)
Utilizzo di un file di formato per ignorare una colonna di una tabella (SQL Server)
Utilizzo di un file di formato per escludere un campo di dati (SQL Server)
[Inizio pagina]
Vedere anche
Riferimento
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)