Impostazione dei formati di dati per la compatibilità mediante bcp (SQL Server)Specify Data Formats for Compatibility when Using bcp (SQL Server)

Questo argomento descrive gli attributi del formato dati, prompt specifici di campo e l'archiviazione dei dati dei singoli campi in un file non in formato XML con il comando bcp di SQL ServerSQL Server.This topic describes the data-format attributes, field-specific prompts, and storing field-by-field data in a non-xml format file of the SQL ServerSQL Serverbcp command. La comprensione di questi concetti può risultare utile per l'esportazione bulk di dati di SQL ServerSQL Server a fini di importazione in un altro programma, ad esempio un altra applicazione di database.Understanding these can be helpful when you bulk export SQL ServerSQL Server data for bulk import into another program, such as another database program. I formati di dati predefiniti (native, character o Unicode) nella tabella di origine potrebbero non essere compatibili con il layout di dati previsto dall'altra applicazione. In questo caso, quando si esportano i dati è necessario descriverne il layout.The default data formats (native, character, or Unicode) in the source table might be incompatible with the data layout expected by the other program If an incompatibility exists, when you export the data, you must describe the data layout.

Nota

Se non si ha familiarità con i formati di dati per l'importazione o esportazione di dati, vedere Formati di dati per l'importazione o l'esportazione bulk (SQL Server).If you are unfamiliar with data formats for importing or exporting data, see Data Formats for Bulk Import or Bulk Export (SQL Server).

Attributi di formato e dati di bcp bcp Data-Format Attributes

Il comando bcp consente di specificare la struttura di tutti i campi di un file di dati con i seguenti attributi di formato dati:The bcp command allows you to specify the structure of each field in a data file in terms of the following data-format attributes:

  • Tipo di archiviazione di fileFile storage type

    Il tipo di archiviazione di file indica la modalità con la quale vengono archiviati i dati in un file.The file storage type describes how data is stored in the data file. I dati possono essere esportati in un file usando il tipo di dati della tabella del database in cui si trovano (formato nativo), come caratteri (formato carattere) oppure usando qualsiasi tipo di dati nel caso in cui sia supportata la conversione implicita. È possibile ad esempio copiare il tipo smallint come int.Data can be exported to a data file as its database table type (native format), in its character representation (character format), or as any data type where implicit conversion is supported; for example, copying a smallint as an int. I tipi di dati definiti dall'utente vengono esportati utilizzando il tipo di dati di base corrispondente.User-defined data types are exported as their base 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

    Per fornire il tipo di archiviazione file con la massima compressione durante l'esportazione in blocco dei dati in formato nativo in un file di dati, il comando bcp inserisce davanti a ogni campo uno o più caratteri che ne indicano la lunghezza.To provide the most compact file storage for the bulk export of data in native format to a data file, the bcp command precedes each field with one or more characters that indicates the length of the field. Tali caratteri sono denominati caratteri per il prefisso di lunghezza.These characters are called length prefix characters. 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 del campoField length

    La lunghezza del campo indica il numero massimo di caratteri necessari per rappresentare i dati in formato carattere.The field length indicates the maximum number of characters that are required to represent data in character format. Se i dati sono archiviati in formato nativo, la lunghezza del campo è già nota.The field length is already known if the data is stored in the native format. 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 terminazione del campoField terminator

    Nei campi dati di tipo carattere, i caratteri di terminazione facoltativi consentono di indicare la fine di ogni campo nel file di dati (tramite un carattere di terminazione del campo) e di ogni riga (tramite un carattere di terminazione della riga).For character data fields, optional terminating characters allow you to mark the end of each field in a data file (using a field terminator) and the end of each row (using a row terminator). I caratteri di terminazione indicano ai programmi che leggono il file il punto in cui termina il campo o la riga e inizia il campo o la riga successiva.Terminating characters are one way to indicate to programs reading the data file where one field or row ends and another begins. 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).

Panoramica dei prompt specifici dei campi Overview of the Field-Specific Prompts

Se un comando bcp interattivo contiene l'opzione in o out , ma non contiene l'opzione del file di formato (-f) o un'opzione di formato dati (-n, -c, -wo -N), per ciascuna colonna della tabella di origine o di destinazione il comando richiede uno alla volta tutti gli attributi precedenti.If an interactive bcp command contains the in or out option but does not also contain either the format file switch (-f) or a data-format switch (-n, -c, -w, or -N), each column in the source or target table, the command prompts for each of the preceding attributes, in turn. In ogni prompt, il comando bcp offre un valore predefinito in base al tipo di dati di SQL ServerSQL Server della colonna di tabella.In each prompt, the bcp command provides a default value based on the SQL ServerSQL Server data type of the table column. Accettare il valore predefinito per tutti i prompt equivale a specificare il formato nativo (-n) nella riga di comando.Accepting the default value for all of the prompts produces the same result as specifying native format (-n) on the command line. Ogni prompt mostra un valore predefinito fra parentesi: [predefinito].Each prompt displays a default value in brackets: [default]. Per accettare i valori predefiniti, premere INVIO.Pressing ENTER accepts the displayed default. Per specificare un valore diverso da quello predefinito, immettere il valore desiderato al prompt.To specify a value other than the default, enter the new value at the prompt.

EsempioExample

L'esempio seguente usa il comando bcp per l'esportazione in blocco interattiva dei dati dalla tabella HumanResources.myTeam al file myTeam.txt .The following example uses the bcp command to bulk export data from the HumanResources.myTeam table interactively to the myTeam.txt file. Prima di eseguire l'esempio è necessario creare questa tabella.Before you can run the example, you must create this table. Per informazioni sulla modalità di creazione e sulla tabella, vedere Tabella di esempio HumanResources.myTeam (SQL Server).For information about the table and how to create it, see HumanResources.myTeam Sample Table (SQL Server).

Il comando non specifica un file di formato né un tipo di dati. Ciò provoca la richiesta di informazioni di formato dati da parte di bcp.The command specifies neither a format file nor a data type, causing bcp to prompt for data-format information. Al prompt dei comandi di MicrosoftMicrosoft Windows digitare:At the MicrosoftMicrosoft Windows command prompt, enter:

bcp AdventureWorks.HumanResources.myTeam out myTeam.txt -T  

Per ogni colonna, bcp richiede valori specifici del campo.For each column, bcp prompts for field-specific values. Nell'esempio seguente vengono illustrati i prompt specifici di campo per le colonne EmployeeID e Name della tabella e viene suggerito il tipo di archiviazione file predefinito (il formato nativo) per ogni colonna.The following example shows the field-specific prompts for the EmployeeID and Name columns of the table, and suggests the default file storage type (the native format) for each column. Le lunghezze del prefisso delle colonne EmployeeID e Name sono rispettivamente 0 e 2.The prefix lengths of the EmployeeID and Name column are 0 and 2, respectively. L'utente specifica una virgola (,) come carattere di terminazione di ogni campo.The user specifies a comma (,) as the terminator of each field.

Enter the file storage type of field EmployeeID [smallint]:

Enter prefix-length of field EmployeeID [0]:

Enter field terminator [none]:,

Enter the file storage type of field Name [nvarchar]:

Enter prefix length of field Name [2]:

Enter field terminator [none]:,

.

.

.

Per ogni colonna della tabella, in ordine e se necessario, vengono visualizzati prompt equivalenti.Equivalent prompts (as needed) are displayed for each of the table columns in order.

Archiviazione di dati campo per campo in un file di formato non XML Storing Field-by-Field Data in a Non-XML Format File

Una volta specificate tutte le colonne della tabella, il comando bcp chiede se si vuole generare un file di formato non XML per l'archiviazione delle informazioni dei singoli campi appena inserite (vedere l'esempio precedente).After all of the table columns are specified, the bcp command prompts you to optionally generate a non-XML format file that stores the field-by-field information just supplied (see the preceding example). Se si sceglie di generare un file di formato, è possibile utilizzarlo ogni volta che si esportano dati da quella tabella o si importano dati di struttura simile in SQL ServerSQL Server.If you choose to generate a format file, you can whenever you export data out of that table or import like-structured data into SQL ServerSQL Server.

Nota

Il file di formato può essere utilizzato per eseguire l'importazione bulk dal file di dati a un'istanza di SQL ServerSQL Server o per eseguire l'esportazione bulk di dati dalla tabella senza dover nuovamente specificare il formato.You can use the format file to bulk import data from the data file into an instance of SQL ServerSQL Server or to bulk export data from the table, without needing to respecify the format. Per altre informazioni, vedere File di formato per l'importazione o l'esportazione di dati (SQL Server).For more information, see Format Files for Importing or Exporting Data (SQL Server).

Nell'esempio seguente viene creato un file di formato non XML denominato myFormatFile.fmt:The following example creates a non-XML format file named myFormatFile.fmt:

Do you want to save this format information in a file? [Y/n] y

Host filename: [bcp.fmt]myFormatFile.fmt

Il nome predefinito per il file di formato è bcp.fmt, ma è possibile specificare un nome diverso.The default name for the format file is bcp.fmt, but you can specify a different file name if you choose.

Nota

Per un file di dati che usa un unico formato dati per il tipo di archiviazione, ad esempio il formato carattere o nativo, è possibile creare rapidamente un file di formato senza esportare o importare dati usando l'opzione format .For a data file that uses a single data format for its file-storage type, such as character or native format, you can quickly create a format file without exporting or importing data by using the format option. Questo approccio ha il vantaggio della semplicità e consente di creare un file di formato XML o non XML.This approach has the advantages of being easy and of allowing you to create either an XML format file or a non-XML format file. Per altre informazioni, vedere Creare un file di formato (SQL Server).For more information, see Create a Format File (SQL Server).

nessuna.None.

Vedere ancheSee Also

Informazioni sull'importazione ed esportazione bulk di dati (SQL Server) Bulk Import and Export of Data (SQL Server)
Formati di dati per l'importazione o l'esportazione bulk (SQL Server) Data Formats for Bulk Import or Bulk Export (SQL Server)
Utilità bcp bcp Utility
Tipi di dati (Transact-SQL) Data Types (Transact-SQL)