File in formato non XML (SQL Server)Non-XML Format Files (SQL Server)

In SQL Server 2017SQL Server 2017sono supportati due tipi di file di formato per l'esportazione e l'importazione bulk: file di formato non XML e file di formato XML.In SQL Server 2017SQL Server 2017, two types of format files are supported for bulk exporting and importing: non-XML format files and XML format files.

Contenuto dell'argomentoIn this Topic:

Vantaggi dei file di formato non XML Benefits of Non-XML Format Files

  • È possibile creare automaticamente un file di formato non XML specificando l'opzione format in un comando bcp .You can create a non-XML format file automatically by specifying the format option in a bcp command.

  • 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.When you specify an existing format file in a bcp command, the command uses the values that are recorded in the format file and does not prompt you for the file storage type, prefix length, field length, or field terminator.

  • È possibile creare un file di formato per un particolare tipo di dati quali dati di tipo carattere o dati nativi.You can create a format file for a particular data type such as character data or native data.

    È possibile creare un file di formato non XML contenente attributi specificati in modo interattivo per ogni campo dati.You can create a non-XML format file that contains interactively specified attributes for each data field. Per altre informazioni, vedere Impostazione dei formati di dati per la compatibilità mediante bcp (SQL Server).For more information, see Specify Data Formats for Compatibility when Using bcp (SQL Server).

Nota

I file di formato XML offrono diversi vantaggi rispetto ai file di formato non XML.XML format files offer several advantages over non-XML format files. Per altre informazioni, vedere File in formato XML (SQL Server).For more information, see XML Format Files (SQL Server).

Struttura dei file di formato non XML Structure of Non-XML Format Files

Un file di formato non XML è un file di testo con una struttura specifica.A non-XML format file is a text file that has a specific structure. 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.The non-XML format file contains information about the file storage type, prefix length, field length, and field terminator of every table column.

Nella figura seguente vengono illustrati i campi del file di formato per un file di formato non XML di esempio.The following illustration illustrates the format-file fields for a sample non-XML format file.

Identifica i campi di un file in formato non XMLIdentifies the fields of a non-XML format file

I campi Versione e Numero di colonne sono presenti una sola volta.The Version and Number of columns fields occur one time only. I significati di questi campi sono descritti nella tabella seguente.Their meanings are describes in the following table.

Campo del file di formatoFormat-file field DescrizioneDescription
VersioneVersion Numero di versione dell'utilità bcp :Version number of the bcp utility:

9.0 = SQL Server 2005SQL Server 20059.0 = SQL Server 2005SQL Server 2005

10.0 = SQL Server 2008SQL Server 200810.0 = SQL Server 2008SQL Server 2008

11.0 = SQL Server 2012SQL Server 201211.0 = SQL Server 2012SQL Server 2012

12.0 = SQL Server 2014SQL Server 201412.0 = SQL Server 2014SQL Server 2014

Il numero di versione viene riconosciuto solo dall'utilità bcp, non da Transact-SQLTransact-SQL.The version number is recognized only by bcp, not by Transact-SQLTransact-SQL.



Nota: la versione dell'utilità bcp (Bcp.exe) usata per leggere un file di formato deve essere uguale o successiva alla versione usata per creare il file di formato.Note: The version of the bcp utility (Bcp.exe) used to read a format file must be the same as, or a later version than was used to create the format file. Ad esempio, l'utilità SQL Server 2012SQL Server 2012bcp può leggere un file di formato versione 10.0 generato dall'utilità SQL Server 2008SQL Server 2008bcp; tuttavia l'utilità SQL Server 2008SQL Server 2008bcp non riesce a leggere un file di formato versione 12.0 generato dall'utilità SQL Server 2014SQL Server 2014bcp.For example, SQL Server 2012SQL Server 2012bcp can read a version 10.0 format file, which is generated by SQL Server 2008SQL Server 2008bcp, but SQL Server 2008SQL Server 2008bcp cannot read a version 12.0 format file, which is generated by SQL Server 2014SQL Server 2014bcp.
Numero di colonneNumber of columns Numero di campi del file di dati.Number of fields in the data file. Tutte le righe devono contenere lo stesso numero di campi.This number must be the same in all rows.

Gli altri campi del file di formato descrivono i campi dati di cui viene eseguita l'importazione o l'esportazione bulk.The other format-file fields describe the data fields that are to be bulk imported or exported. Per ogni campo dati è necessaria una riga separata nel file di formato.Each data field requires a separate row in the format file. Ogni riga del file di formato contiene i valori dei campi del file di formato descritti nella tabella seguente.Every format-file row contains values for the format-file fields that are described in the following table.

Campo del file di formatoFormat-file field DescrizioneDescription
Ordine dei campi nel file hostHost file field order Numero che indica la posizione di ogni campo nel file di dati.A number that indicates the position of each field in the data file. Il primo campo della riga è 1 e così via.The first field in the row is 1, and so on.
Tipo di dati del file hostHost file data type Indica il tipo di dati archiviati in un determinato campo del file di dati.Indicates the data type that is stored in a given field of the data file. Per i file di dati ASCII, utilizzare SQLCHAR. Per i file di dati in formato nativo, utilizzare i tipi di dati predefiniti.With ASCII data files, use SQLCHAR; for native format data files, use default data types. Per altre informazioni, vedere Specifica del tipo di archiviazione di file tramite bcp (SQL Server).For more information, see Specify File Storage Type by Using bcp (SQL Server).
Lunghezza del prefissoPrefix length Numero di caratteri della lunghezza del prefisso per il campo.Number of length prefix characters for the field. Le lunghezze del prefisso valide sono 0, 1, 2, 4 e 8.Valid prefix lengths are 0, 1, 2, 4, and 8. Per evitare di specificare la lunghezza del prefisso, impostarlo su 0.To avoid specifying the length prefix, set this to 0. È necessario specificare una lunghezza per il prefisso se il campo contiene valori di dati NULL.A length prefix must be specified if the field contains NULL data values. Per altre informazioni, vedere Specificare la lunghezza del prefisso nei file di dati tramite bcp (SQL Server).For more information, see Specify Prefix Length in Data Files by Using bcp (SQL Server).
Lunghezza dei dati del file hostHost file data length Lunghezza massima, in byte, del tipo di dati archiviati nel campo specifico del file di dati.Maximum length, in bytes, of the data type stored in the particular field of the data file.

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.If you are creating a non-XML format file for a delimited text file, you can specify 0 for the host file data length of every data field. 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.When a delimited text file having a prefix length of 0 and a terminator is imported, the field-length value is ignored, because the storage space used by the field equals the length of the data plus the terminator.

Per altre informazioni, vedere Definizione della lunghezza di campo tramite bcp (SQL Server).For more information, see Specify Field Length by Using bcp (SQL Server).
Carattere di terminazioneTerminator Delimitatore di separazione dei campi di un file di dati.Delimiter to separate the fields in a data file. I caratteri di terminazione più comuni sono la virgola (,), il carattere di tabulazione (\t) e i caratteri di fine riga (\r\n).Common terminators are comma (,), tab (\t), and end of line (\r\n). Per altre informazioni, vedere Impostazione dei caratteri di terminazione del campo e della riga (SQL Server).For more information, see Specify Field and Row Terminators (SQL Server).
Ordine delle colonne nel serverServer column order Ordine in cui sono disposte le colonne nella tabella SQL ServerSQL Server .Order in which columns appear in the SQL ServerSQL Server table. Se, ad esempio, il quarto campo del file di dati esegue il mapping alla sesta colonna di una tabella di SQL ServerSQL Server , l'ordine delle colonne nel server per il quarto campo è 6.For example, if the fourth field in the data file maps to the sixth column in a SQL ServerSQL Server table, the server column order for the fourth field is 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.To prevent a column in the table from receiving any data from the data file, set the server column order value to 0.
Nome della colonna del serverServer column name Nome della colonna copiata dalla tabella SQL ServerSQL Server .Name of the column copied from the SQL ServerSQL Server table. Il nome effettivo del campo non è obbligatorio, ma il campo nel file di formato non può essere vuoto.The actual name of the field is not required, but the field in the format file must not be blank.
Regole di confronto a livello di colonnaColumn collation Regole di confronto utilizzate per archiviare i dati di tipo carattere e Unicode nel file di dati.The collation used to store character and Unicode data in the data file.
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.You can modify a format file to let you bulk import from a data file in which the number or order of the fields are different from the number or order of table columns. Per ulteriori informazioni, vedere l'elenco Attività correlate più avanti in questo argomento.For more information, see the Related Tasks list, later in this topic.

Esempio di file di formato non XML Example of a Non-XML Format File

Nell'esempio seguente viene illustrato un file di formato non XML creato in precedenza (myDepartmentIdentical-f-c.fmt).The following example shows a previously created non-XML format file (myDepartmentIdentical-f-c.fmt). Questo file descrive un campo dati di tipo carattere per ogni colonna della tabella HumanResources.Department nel database di esempio AdventureWorks2012 .This file describes a character-data field for every column in the HumanResources.Department table in the AdventureWorks2012 sample database.

Il file di formato generato, myDepartmentIdentical-f-c.fmt, contiene le informazioni seguenti:The generated format file, myDepartmentIdentical-f-c.fmt, contains the following information:

12.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 XMLpiù indietro in questo argomento.For an illustration that shows the format-file fields in relation to this sample non-XML format file, see Structure of Non-XML Format Files, earlier in this topic.

Vedere ancheSee Also

Utilità bcp bcp Utility
Creazione di un file di formato (SQL Server) Create a Format File (SQL Server)
File in formato XML (SQL Server) XML Format Files (SQL Server)
File di formato per l'importazione o l'esportazione di dati (SQL Server) Format Files for Importing or Exporting Data (SQL Server)