Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Database SQL in Microsoft Fabric
Questo articolo descrive gli attributi del formato dati, i prompt specifici per campo e come memorizzare i dati campo per campo in un file di formato non XML dell'utilità bcp . Queste informazioni possono essere utili quando esporti in massa dati di SQL Server per importazione in massa in un altro programma, come un altro programma di database. I formati dati predefiniti (nativi, caratteri o Unicode) nella tabella sorgente potrebbero essere incompatibili con la disposizione dei dati che l'altro programma si aspetta. Se esiste un'incompatibilità, devi descrivere la disposizione dei dati quando esporti i dati.
Nota
Per maggiori informazioni sui formati dati per importazione o esportazione di dati, consulta Formati dati per importazione o esportazione in massa.
attributi del formato dei dati BCP
Usare bcp per specificare la struttura di ogni campo in un file dati tramite 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. Puoi esportare dati in un file dati come tipo di tabella database (formato nativo), nella rappresentazione del carattere (formato caratteri) o come qualsiasi tipo di dato che supporti la conversione implicita. Ad esempio, puoi copiare un smallint come int. I tipi di dati definiti dall'utente vengono esportati come tipi base. Per ulteriori informazioni, vedi Specifica il tipo di archiviazione file usando bcp.
Lunghezza del prefisso
Per fornire la memoria più compatta possibile per l'esportazione in massa di dati in formato nativo verso un file dati,
bcpprecede ogni campo con uno o più caratteri che indicano la lunghezza del campo. Tali caratteri sono denominati caratteri di prefisso della lunghezza. Per ulteriori informazioni, vedi Specifica la lunghezza del prefisso nei file dati usando bcp.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, vedi Specifica la lunghezza del campo usando bcp.
Carattere di terminazione del campo
Per i campi dati dei caratteri, i caratteri di terminazione opzionali permettono di segnare la fine di ogni campo in un file dati (usando un terminatore di campo) e la fine di ogni riga (usando un terminatore di 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 altre informazioni, vedere Specificare caratteri di terminazione dei campi e delle righe.
Panoramica dei prompt specifici per campo
Se si esegue bcp in modo interattivo con l'opzione in o out, ma non si include né lo switch del file di formato (-f) né uno switch del formato dei dati (-n, -c, -w o -N) per ogni colonna nella tabella di origine o di destinazione, bcp richiede, uno dopo l'altro, ciascuno degli attributi sopra indicati. In ogni prompt, bcp fornisce un valore predefinito basato sul tipo di dato SQL Server della colonna della tabella. Accettare il valore predefinito per tutti i prompt produce lo stesso risultato che specificare il formato nativo (-n) sulla riga di comando. Ogni prompt mostra un valore predefinito fra parentesi: [predefinito]. Premi INVIO per accettare il valore predefinito visualizzato. Per specificare un valore diverso da quello predefinito, immettere il valore desiderato al prompt.
Esempio
L'esempio seguente usa bcp per esportare in massa i dati dalla tabella HumanResources.myTeam nel file myTeam.txt in modo interattivo. Prima di eseguire l'esempio è necessario creare questa tabella. Per informazioni sulla tabella e su come crearla, consulta HumanResources.myTeam Sample Table.
Il comando non specifica né un file di formato né un tipo di dato, quindi bcp richiede informazioni sul formato dei dati. Al prompt dei comandi di Windows digitare:
bcp AdventureWorks.HumanResources.myTeam out myTeam.txt -T
Per ogni colonna, bcp richiede valori specifici per il 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 dei prefissi delle EmployeeID colonne 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]:,
.
.
.
Messaggi equivalenti vengono visualizzati secondo necessità per ognuna delle colonne della tabella, nell’ordine.
Memorizza i dati campo per campo in un file in formato non XML
Dopo aver specificato tutte le colonne della tabella, bcp ti viene chiesto di generare opzionalmente un file in formato non XML che memorizzi le informazioni campo per campo appena fornite (vedi l'esempio precedente). Se scegli di generare un file formatato, puoi usarlo ogni volta che esporti dati da quella tabella o importi dati strutturati simili in SQL Server.
Nota
Il file di formato può essere usato per eseguire l'importazione in massa dal file di dati a un'istanza di SQL Server o per eseguire l'esportazione in massa di dati dalla tabella senza dover nuovamente specificare il formato. Per ulteriori informazioni, consulta Formattare file per importare o esportare dati.
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 del file di formato è bcp.fmt, ma puoi specificare un nome di file diverso se lo desideri.
Nota
Per un file di dati che utilizza un unico formato di dati per il tipo di archiviazione file, come il formato carattere o nativo, puoi creare rapidamente un file di formato senza dover esportare o importare dati usando questa format opzione. Questo approccio è semplice e ti permette di creare un file in formato XML o un file non in formato XML. Per maggiori informazioni, vedi Crea un file di formato con bcp.
Attività correlate
- Specifica il tipo di archiviazione del file usando bcp
- Specificare la lunghezza del prefisso nei file dati usando bcp
- Specifica la lunghezza del campo usando bcp
- Specificare terminatori di campo e riga