Connessione a bcp

Scaricare il driver ODBC

L'utilità bcp è disponibile con Microsoft ODBC Driver for SQL Server su Linux e macOS. In questa pagina sono documentate le differenze rispetto alla versione di dcp per Windows.

  • Il carattere di terminazione del campo è tabulazione ("\t").

  • Il carattere di terminazione della riga è nuova riga ("\n").

  • La modalità carattere è il formato preferito per i file di formato bcp e i file di dati che non contengono caratteri estesi.

Nota

Una barra rovesciata '\' in un argomento della riga di comando deve essere racchiusa tra virgolette o preceduta da un carattere di escape. Per specificare un carattere di nuova riga come carattere di terminazione della riga personalizzato, ad esempio, è necessario usare uno dei meccanismi seguenti:

  • -r\\n
  • -r "\n"
  • -r '\n'

Di seguito è riportato un esempio di chiamata di un comando bcp per copiare le righe di una tabella in un file di testo:

bcp AdventureWorks2008R2.Person.Address out test.dat -Usa -Pxxxx -Sxxx.xxx.xxx.xxx

Opzioni disponibili

Nella versione corrente sono disponibili le opzioni e la sintassi seguenti:

[database.]schema.tableindata_file | outdata_file

-apacket_size
Specifica il numero di byte inviati al e dal server per ogni pacchetto di rete.

-bbatch_size
Specifica il numero di righe per ogni batch di dati importati.

-c
Usa dati di tipo carattere.

-ddatabase_name
Specifica il database al quale connettersi.

-D
Indica che il valore passato all'opzione -S di bcp deve essere interpretato come nome dell'origine dati (DSN). Per altre informazioni, vedere "Supporto di DSN in sqlcmd e bcp" in Connessione con sqlcmd.

-efile_errori
Specifica il percorso completo di un file di errori utilizzato per archiviare le eventuali righe che l'utilità bcp non è in grado di trasferire dal file al database.

-E
Usa i valori Identity per la colonna Identity nel file di dati importato.

-fformat_file
Specifica il percorso completo di un file di formato.

-Ffirst_row
Specifica il numero della prima riga da esportare da una tabella o da importare da un file di dati.

-G
Questa opzione viene usata dal client durante la connessione al database SQL di Azure, all’istanza gestita di SQL di Azur o ad Azure Synapse Analytics per specificare che l'utente deve essere autenticato con Microsoft Entra ID (in precedenza, Azure Active Directory). Può essere combinato con solo l'opzione -P per usare l'autenticazione del token di accesso (v17.8+). L'opzione -G richiede almeno bcp versione 17.6. Per determinare la versione, eseguire bcp-v.

Importante

L’opzione -G si applica al database SQL di Azure, all’istanza gestita di SQL di Azure e a Azure Synapse Analytics.

L'autenticazione integrata di Microsoft Entra non è attualmente supportata in Linux o macOS. Per l'autenticazione integrata di Microsoft Entra sono necessari il driver Microsoft ODBC 17 per SQL Server versione 17.6.1 successiva e un ambiente Kerberos configurato correttamente.

-k
Specifica che durante l'operazione il valore delle colonne vuote deve rimanere Null, ovvero che non verranno inseriti valori predefiniti in tali colonne.

-l
Specifica un timeout accesso. L'opzione -l specifica il numero di secondi che devono trascorrere prima che si verifichi il timeout di un accesso di a SQL Server quando si cerca di stabilire la connessione a un server. Il timeout di accesso predefinito è di 15 secondi. Il valore del timeout deve essere un numero compreso tra 0 e 65534. Se il valore specificato non è numerico o non è compreso in tale intervallo, bcp genera un messaggio di errore. Il valore 0 specifica un timeout infinito.

-Llast_row
Specifica il numero dell'ultima riga da esportare da una tabella o da importare da un file di dati.

-mmax_errors
Specifica il numero massimo di errori di sintassi che possono verificarsi prima dell'annullamento dell'operazione bcp.

-n
Esegue l'operazione di copia bulk usando i tipi di dati nativi del database.

-Ppassword
Specifica la password per l'ID di accesso. Se usato con l'opzione -G senza -U, specifica un file che contiene un token di accesso (versione 17.8 e successive). Il file del token deve essere in formato UTF-16LE (senza BOM).

I token di accesso si possono ottenere in vari modi. È importante assicurarsi che il token di accesso sia corretto byte per byte, perché verrà inviato così com'è. Di seguito è riportato un comando di esempio che ottiene un token di accesso. Il comando usa i comandi dell'interfaccia della riga di comando di Azure e Linux e lo salva in un file nel formato corretto. Se la codifica predefinita del sistema o del terminale non è ASCII o UTF-8, potrebbe essere necessario modificare le opzioni iconv. Assicurarsi di proteggere attentamente il file risultante ed eliminarlo quando non è più necessario.

az account get-access-token --resource https://database.windows.net --output tsv | cut -f 1 | tr -d '\n' | iconv -f ascii -t UTF-16LE > /tmp/tokenFile

-q
Esegue l'istruzione SET QUOTED_IDENTIFIERS ON durante la connessione tra l'utilità bcp e un'istanza di SQL Server.

-rcarattere_terminazione_riga
Specifica il carattere di terminazione della riga.

-R
Specifica che la copia bulk dei dati relativi a valuta, data e ora verrà eseguita in SQL Server usando il formato definito per le impostazioni locali del computer client.

-Sserver
Specifica il nome dell'istanza di SQL Server a cui connettersi oppure, se si usa -D, un DSN.

-tcarattere_terminazione_campo
Specifica il carattere di terminazione del campo.

-T
Specifica che l'utilità bcp si connette a SQL Server tramite una connessione trusted (sicurezza integrata).

-u
Considera attendibile il certificato del server. (disponibile da bcp versione 18)

-Ulogin_id
Specifica l'ID di accesso usato per connettersi a SQL Server.

-v
Visualizza numero di versione e informazioni sul copyright per l'utilità bcp.

-w
Esegue l'operazione di copia bulk usando caratteri Unicode.

In questa versione sono supportati i caratteri Latin 1 e UTF-16.

-Y[s|m|o]
Specifica la modalità di crittografia della connessione. Le opzioni sono Strict, Mandatory e Optional. Se si usa -Y senza parametri, viene usata la modalità di crittografia Mandatory ed è equivalente a -Ym. (disponibile da bcp versione 18)

Opzioni non disponibili

Nella versione corrente non sono disponibili le opzioni e la sintassi seguenti:

-C
Specifica la tabella codici dei dati contenuti nel file di dati.

-hhint
Specifica gli hint usati per l'importazione bulk di dati in una tabella o in una vista.

-iinput_file
Specifica il nome di un file di risposta.

-N
Usa i tipi di dati nativi del database per i dati non di tipo carattere e i caratteri Unicode per i dati di tipo carattere.

-ooutput_file
Specifica il nome di un file in cui viene reindirizzato l'output dal prompt dei comandi.

-V (80 | 90 | 100)
Consente di usare tipi di dati di una versione precedente di SQL Server.

-x
Se usato con le opzioni format e -f format_file, genera un file di formato basato su XML anziché un file di formato predefinito non XML.

Vedi anche

Connessione con sqlcmd
Note sulla versione