Condividi tramite


Impostazione dei formati di dati per la compatibilità mediante 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 Server. La comprensione di questi concetti può risultare utile per l'esportazione bulk di dati di SQL Server a fini di importazione in un altro programma, ad esempio un altra applicazione di database. I formati di dati predefiniti (native, character o Unicode) nella tabella di origine potrebbero non essere compatibilit con il layout di dati previsto dall'altra applicazione. In questo caso, quando si esportano i dati è necessario descriverne il layout.

[!NOTA]

Se non si ha familiarità con i formati per l'importazione o l'esportazione di dati, vedere Formati di dati per l'importazione o l'esportazione bulk (SQL Server).

Contenuto dell'argomento

  • Attributi di formato e dati di bcp

  • Panoramica dei prompt specifici dei campi

  • Archiviazione di dati campo per campo in un file di formato non XML

  • Attività correlate

  • Contenuto correlato

Attributi di formato e dati di bcp

Il comando bcp consente di specificare la struttura di tutti i campi di un file di dati mediante i seguenti attributi di formato dati:

  • Tipo di archiviazione di file

    Il tipo di archiviazione di file indica la modalità con la quale vengono archiviati i dati in un file. I dati possono essere esportati in un file utilizzando il tipo di dati della tabella del database in cui si trovano (formato nativo), come caratteri (formato carattere) o utilizzando 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. Per ulteriori informazioni, vedere Specifica del tipo di archiviazione di file tramite bcp (SQL Server).

  • Lunghezza del prefisso

    Per implementare il tipo di archiviazione più compatto durante l'esportazione bulk dei dati in formato nativo in un file di dati, il comando bcp antepone a ogni campo uno o più caratteri che ne indicano la lunghezza. Tali caratteri sono denominati caratteri per il prefisso di lunghezza. Per ulteriori informazioni, vedere Specificare la lunghezza del prefisso nei file di dati tramite bcp (SQL Server).

  • Lunghezza del campo

    La lunghezza del campo indica il numero massimo di caratteri necessari per rappresentare i dati in formato carattere. Se i dati sono archiviati in formato nativo, la lunghezza del campo è già nota. Per ulteriori informazioni, vedere Definizione della lunghezza di campo tramite bcp (SQL Server).

  • Carattere di terminazione del campo

    Nei campi dati di tipo carattere, i caratteri di terminazione facoltativi consentono di indicare la fine di ogni campo nel file di dati (utilizzando un carattere di terminazione del campo) e di ogni riga (utilizzando un carattere di terminazione della riga). 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. Per ulteriori informazioni, vedere Impostazione dei caratteri di terminazione del campo e della riga (SQL Server).

[Torna all'inizio]

Panoramica dei prompt specifici dei campi

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, -w o -N), per ciascuna colonna nella tabella di origine o di destinazione, il comando richiede uno alla volta tutti gli attributi precedenti. In ogni prompt, il comando bcp offre un valore predefinito in base al tipo di dati di SQL Server della colonna di tabella. Accettare il valore predefinito per tutti i prompt equivale a specificare il formato nativo (-n) nella riga di comando. Ogni prompt mostra un valore predefinito fra parentesi: [default]. Per accettare i valori predefiniti, premere INVIO. Per specificare un valore diverso da quello predefinito, immettere il valore desiderato al prompt.

Esempio

Nell'esempio seguente il comando bcp viene utilizzato per l'esportazione bulk interattiva dei dati dalla tabella HumanResources.myTeam al file myTeam.txt. Prima di eseguire l'esempio è necessario creare questa tabella. Per informazioni su come creare la tabella, vedere Tabella di esempio HumanResources.myTeam (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. Al prompt dei comandi di Microsoft Windows digitare:

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

Per ogni colonna, bcp richiede valori specifici del campo. 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. Le lunghezze del prefisso delle colonne EmployeeID e Name sono rispettivamente 0 e 2. L'utente specifica una virgola (,) come carattere di terminazione di ogni campo.

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.

[Torna all'inizio]

Archiviazione di dati campo per campo in un file di formato non XML

Una volta specificate tutte le colonne della tabella, il comando bcp chiede se si desidera generare un file di formato non XML per l'archiviazione delle informazioni campo per campo appena inserite (vedere l'esempio precedente). 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 Server.

[!NOTA]

Il file di formato può essere utilizzato per eseguire l'importazione bulk dal file di dati a un'istanza di SQL Server o per eseguire l'esportazione bulk di dati dalla tabella senza dover nuovamente specificare il formato. Per ulteriori informazioni, vedere File di formato per l'importazione o l'esportazione di dati (SQL Server).

Nell'esempio seguente viene creato un file di formato non XML denominato 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.

[!NOTA]

Per un file di dati che utilizza 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 utilizzando l'opzione format. Questo approccio ha il vantaggio della semplicità e consente di creare un file di formato XML o non XML. Per ulteriori informazioni, vedere Creazione di un file di formato (SQL Server).

[Torna all'inizio]

Attività correlate

Contenuto correlato

Nessuna.

Vedere anche

Riferimento

Utilità bcp

Tipi di dati (Transact-SQL)

Concetti

Informazioni sull'importazione ed esportazione bulk di dati (SQL Server)

Formati di dati per l'importazione o l'esportazione bulk (SQL Server)