Skip to main content

Utilizzo di bcp per importare ed esportare dati da SQL Server

Visual Studio 2012 e DB - ITA 12: data source, binding source, table adapter e dataset - 1 (Luglio 2025)

Visual Studio 2012 e DB - ITA 12: data source, binding source, table adapter e dataset - 1 (Luglio 2025)
Anonim

Il comando bulk copy (bcp) di Microsoft SQL Server offre la possibilità di inserire un numero elevato di record direttamente dalla riga di comando. Oltre a essere uno strumento utile per gli appassionati della riga di comando, l'utilità bcp è un potente strumento per coloro che cercano di inserire dati in un database SQL Server all'interno di un file batch o di un altro metodo programmatico. Ci sono molti modi per ottenere dati in un database, ma bcp è il più veloce quando è impostato con i parametri giusti.

Sintassi BCP

La sintassi di base per l'utilizzo di bcp è:

BCP

dove gli argomenti assumono i seguenti valori:

  • table_name è il nome completo della tabella. Ad esempio, è possibile utilizzare inventory.dbo.fruits per inserire record nella tabella frutti di proprietà del proprietario del database nel database di inventario.
  • Direzione indica se si desidera importare (direzione "in") o esportare (direzione "fuori") i dati.
  • Nome del file è il percorso completo del file. Ad esempio, è possibile importare il file C: fruit inventory.txt.
  • Opzioni ti consente di specificare i parametri per l'operazione di massa. Ad esempio, è possibile specificare il numero massimo di errori consentiti con l'opzione -m. È anche possibile utilizzare l'opzione -x per specificare un formato di file XML. Consultare la documentazione di bcp di Microsoft per un elenco completo.

Esempio di importazione BCP

Per mettere tutto insieme, immagina di avere una tabella di frutti nel tuo database di inventario e di voler importare tutti i record da un file di testo memorizzato sul tuo disco rigido in quel database. Dovresti utilizzare la seguente sintassi del comando bcp:

bcp inventory.dbo.fruits in "C: fruit inventory.txt" -c -T

Questo produce il seguente risultato:

C: > bcp inventory.dbo.fruits in "C: fruit inventory.txt" -c -T

Avvio della copia …

36 righe copiate.

Dimensione del pacchetto di rete (byte): 4096

Tempo di orologio (ms.) Totale: 16 Media: (2250.00 righe al secondo)

C: >

Potresti aver notato due nuove opzioni su quella riga di comando. L'opzione -c specifica che il formato file del file di importazione sarà delimitato da tabulazioni con ogni record su una nuova riga. L'opzione -T specifica che bcp deve utilizzare l'autenticazione di Windows per connettersi al database.

Esempio di esportazione BCP

È possibile esportare i dati dal database con bcp cambiando la direzione dell'operazione da "in" a "out". Ad esempio, è possibile scaricare il contenuto della tabella della frutta in un file di testo con il seguente comando:

bcp inventory.dbo.fruits out "C: fruit inventory.txt" -c -T

Ecco come appare sulla riga di comando:

C: > bcp inventory.dbo.fruits out "C: fruit inventory.txt" -c -T

Avvio della copia …

42 righe copiate.

Dimensione del pacchetto di rete (byte): 4096

Tempo di orologio (ms.) Totale: 1 Media: (42000.00 righe al secondo).

C: >

Questo è tutto ciò che c'è nel comando bcp. È possibile utilizzare questo comando da file batch o altri programmi con accesso alla riga di comando DOS per automatizzare l'importazione e l'esportazione di dati dal database di SQL Server.