Specifica del tipo di archiviazione di file tramite bcp (SQL Server)Specify File Storage Type by Using bcp (SQL Server)

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. I tipi di dati definiti dall'utente vengono esportati utilizzando il tipo di dati di base corrispondente.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. User-defined data types are exported as their base types.

Richiesta del tipo di archiviazione di dati con bcpThe bcp Prompt for File Storage Type

Se un comando interattivo bcp include l'opzione in o out senza l'opzione relativa al file di formato (-f) o al formato dei dati (-n, -c, -wo -N), viene richiesto il tipo di archiviazione di file di ogni campo di dati, come illustrato di seguito:If an interactive bcp command contains the in or out option without either the format file switch (-f) or a data-format switch (-n, -c, -w, or -N), the command prompts for the file storage type of each data field, as follows:

Enter the file storage type of field <field_name> [<default>]:

La risposta dell'utente a questa richiesta dipende dall'operazione eseguita, come illustrato di seguito:Your response to this prompt depends on the task you perform, as follows:

  • Per eseguire l'esportazione bulk dei dati da un'istanza di MicrosoftMicrosoft SQL ServerSQL Server in un file di dati nel formato di archiviazione più compatto (formato nativo), accettare i tipi di archiviazione di file predefiniti visualizzati dall'utilità bcp.To bulk export data from an instance of MicrosoftMicrosoft SQL ServerSQL Server to a data file in the most compact storage possible (native data format), accept the default file storage types that are provided by bcp. Per un elenco dei tipi di archiviazione di file nativi, vedere "Tipi di archiviazione di file nativi" più avanti in questo argomento.For a list of the native file storage types, see "Native File Storage Types," later in this topic.

  • Per eseguire l'esportazione bulk dei dati da un'istanza di SQL ServerSQL Server in un file di dati in formato carattere, specificare il tipo di archiviazione char per tutte le colonne della tabella.To bulk export data from an instance of SQL ServerSQL Server to a data file in character format, specify char as the file storage type for all columns in the table.

  • Per eseguire l'importazione in blocco di dati in un'istanza di SQL ServerSQL Server da un file di dati, specificare il tipo di archiviazione di file char per i tipi archiviati nel formato carattere e, a seconda dei casi, uno dei tipi elencati di seguito per i dati archiviati nel formato nativo:To bulk import data to an instance of SQL ServerSQL Server from a data file, specify the file storage type as char for types stored in character format and, for data stored in native data type format, specify one of the file storage types, as appropriate:

    tipo di archiviazione di fileFile storage type Parametro da specificare nel prompt dei comandiEnter at command prompt
    charchar** c[har]c[har]
    varcharvarchar c[har]c[har]
    ncharnchar ww
    nvarcharnvarchar ww
    text*text*** T[ext]T[ext]
    ntext2ntext2 WW
    binarybinary xx
    varbinaryvarbinary xx
    image*image*** I[mage]I[mage]
    datetimedatetime d[ate]d[ate]
    smalldatetimesmalldatetime DD
    timetime tete
    datadate dede
    datetime2datetime2 d2d2
    datetimeoffsetdatetimeoffset dodo
    decimaldecimal n
    numericnumeric n
    floatfloat f[loat]f[loat]
    realreal rr
    IntInt i[nt]i[nt]
    bigintbigint B[igint]B[igint]
    smallintsmallint s[mallint]s[mallint]
    tinyinttinyint t[inyint]t[inyint]
    moneymoney m[oney]m[oney]
    smallmoneysmallmoney MM
    bitbit b[it]b[it]
    uniqueidentifieruniqueidentifier uu
    sql_variantsql_variant V[ariant]V[ariant]
    timestamptimestamp xx
    UDT (tipo di dati definito dall'utente)UDT (a user-defined data type) UU
    XMLXML XX

    *L'interazione tra lunghezza del campo, lunghezza del prefisso e caratteri di terminazione determina la quantità di spazio di archiviazione allocata in un file di dati ai dati non carattere esportati come tipo di archiviazione di file char .*The interaction of field length, prefix length, and terminators determines the amount of storage space that is allocated in a data file for noncharacter data that is exported as the char file storage type.

    ** I tipi di dati ntext, texte image verranno rimossi in una versione futura di SQL ServerSQL Server.** The ntext, text, and image data types will be removed in a future version of SQL ServerSQL Server. Evitare di utilizzare questi tipi di dati in nuovi progetti di sviluppo e pianificare la modifica delle applicazioni che ne fanno uso.In new development work, avoid using these data types, and plan to modify applications that currently use them. Usare in alternativa nvarchar(max), varchar(max)e varbinary(max) .Use nvarchar(max), varchar(max), and varbinary(max) instead.

Tipi di archiviazione di file nativiNative File Storage Types

I tipi di archiviazione di file nativi vengono registrati nel file di formato come tipo di dati del file host corrispondente.Each native file storage type is recorded in the format file as a corresponding host file data type.

tipo di archiviazione di fileFile storage type Tipo di dati del file hostHost file data type
charchar** SQLCHARSQLCHAR
varcharvarchar SQLCHARSQLCHAR
ncharnchar SQLNCHARSQLNCHAR
nvarcharnvarchar SQLNCHARSQLNCHAR
text*text*** SQLCHARSQLCHAR
ntext*ntext*** SQLNCHARSQLNCHAR
binarybinary SQLBINARYSQLBINARY
varbinaryvarbinary SQLBINARYSQLBINARY
image*image*** SQLBINARYSQLBINARY
datetimedatetime SQLDATETIMESQLDATETIME
smalldatetimesmalldatetime SQLDATETIM4SQLDATETIM4
decimaldecimal SQLDECIMALSQLDECIMAL
numericnumeric SQLNUMERICSQLNUMERIC
floatfloat SQLFLT8SQLFLT8
realreal SQLFLT4SQLFLT4
intint SQLINTSQLINT
bigintbigint SQLBIGINTSQLBIGINT
smallintsmallint SQLSMALLINTSQLSMALLINT
tinyinttinyint SQLTINYINTSQLTINYINT
moneymoney SQLMONEYSQLMONEY
smallmoneysmallmoney SQLMONEY4SQLMONEY4
bitbit SQLBITSQLBIT
uniqueidentifieruniqueidentifier SQLUNIQUEIDSQLUNIQUEID
sql_variantsql_variant SQLVARIANTSQLVARIANT
timestamptimestamp SQLBINARYSQLBINARY
UDT (tipo di dati definito dall'utente)UDT (a user-defined data type) SQLUDTSQLUDT

*Il tipo di archiviazione dei file di dati archiviati nel formato carattere è char .*Data files that are stored in character format use char as the file storage type. Per questi file di dati di tipo carattere SQLCHAR costituisce pertanto l'unico tipo di dati incluso in file di formato.Therefore, for character data files, SQLCHAR is the only data type that appears in a format file.

**Non è possibile eseguire l'importazione in blocco di dati in colonne text, ntexte image con valori DEFAULT.**You cannot bulk import data into text, ntext, and image columns that have DEFAULT values.

Ulteriori considerazioni sui tipi di archiviazione di fileAdditional Considerations for File Storage Types

Quando si esegue l'esportazione bulk da un'istanza di SQL ServerSQL Server in un file di dati:When you bulk export data from an instance of SQL ServerSQL Server to a data file:

  • È sempre possibile specificare il tipo di archiviazione di file char .You can always specify char as the file storage type.

  • Se si immette un tipo di archiviazione di file che rappresenta una conversione implicita non valida, bcp avrà esito negativo. Ad esempio, nonostante sia possibile specificare int per i dati smallint , se si specifica smallint per i dati int si verificheranno errori di overflow.If you enter a file storage type that represents an invalid implicit conversion, bcp fails; for example, though you can specify int for smallint data, if you specify smallint for int data, overflow errors result.

  • Se i tipi di dati non carattere, quali float, money, datetimeo int , vengono archiviati in base al tipo dei relativi database, i dati verranno scritti nel file di dati nel formato nativo di SQL ServerSQL Server .When noncharacter data types such as float, money, datetime, or int are stored as their database types, the data is written to the data file in the SQL ServerSQL Server native format.

    Nota

    Dopo l'impostazione interattiva di tutti i campi in un comando bcp, viene richiesto di salvare le risposte relative a ogni campo in un file di formato non XML.After you interactively specify all of the fields in a bcp command, the command prompts you save your responses for each field in a non-XML format file. Per altre informazioni sui file di formato non XML, vedere File in formato non XML (SQL Server).For more information on non-XML format files, see Non-XML Format Files (SQL Server).

Vedere ancheSee Also

Utilità bcp bcp Utility
Tipi di dati (Transact-SQL) Data Types (Transact-SQL)
Specificare la lunghezza del campo tramite bcp (SQL Server) Specify Field Length by Using bcp (SQL Server)
Specificare caratteri di terminazione del campo e della riga (SQL Server) Specify Field and Row Terminators (SQL Server)
Specificare la lunghezza del prefisso nei file di dati con bcp (SQL Server)Specify Prefix Length in Data Files by Using bcp (SQL Server)