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.
Il programma di copia bulk più semplice esegue le operazioni seguenti:
Chiama bcp_init per specificare la copia bulk (impostata BCP_OUT) da una tabella o da una vista a un file di dati.
Chiama bcp_exec per eseguire l'operazione di copia bulk.
Il file di dati viene creato in modalità nativa; pertanto, i dati di tutte le colonne della tabella o della vista vengono archiviati nel file di dati nello stesso formato del database. Il file può quindi essere copiato in blocco in un server usando questi stessi passaggi e impostando DB_IN anziché DB_OUT. Questa operazione funziona solo se le tabelle di origine e di destinazione hanno esattamente la stessa struttura. Il file di dati risultante può anche essere input per l'utilità bcp usando l'opzione /n (modalità nativa).
Per eseguire la copia bulk del set di risultati di un'istruzione Transact-SQL anziché direttamente da una tabella o vista:
Chiamare bcp_init per specificare la copia bulk, ma specificare NULL per il nome della tabella.
Chiamare bcp_control con eOption impostato su BCPHINTS e iValue impostato su un puntatore a una stringa SQLTCHAR contenente l'istruzione Transact-SQL.
Chiamare bcp_exec per eseguire l'operazione di copia bulk.
L'istruzione Transact-SQL può essere qualsiasi istruzione che genera un set di risultati. Il file di dati viene creato contenente il primo set di risultati dell'istruzione Transact-SQL. La copia bulk ignora qualsiasi set di risultati dopo il primo se l'istruzione Transact-SQL genera più set di risultati.
Per creare un file di dati in cui i dati delle colonne vengono archiviati in un formato diverso da quello della tabella, chiamare bcp_columns per specificare il numero di colonne che verranno modificate, quindi chiamare bcp_colfmt per ogni colonna il cui formato si desidera modificare. Questa operazione viene eseguita dopo aver chiamato bcp_init ma prima di chiamare bcp_exec. bcp_colfmt specifica il formato in cui i dati della colonna vengono archiviati nel file di dati. Può essere usato durante la copia bulk in o in uscita. È anche possibile usare bcp_colfmt per impostare i caratteri di terminazione di riga e colonna. Ad esempio, se i dati non contengono caratteri di tabulazione, è possibile creare un file delimitato da tabulazioni usando bcp_colfmt per impostare il carattere di tabulazione come carattere di terminazione per ogni colonna.
Quando si esegue la copia bulk e si usa bcp_colfmt, è possibile creare facilmente un file di formato che descrive il file di dati creato chiamando bcp_writefmt dopo l'ultima chiamata a bcp_colfmt.
Quando si esegue la copia bulk da un file di dati descritto da un file di formato, leggere il file di formato chiamando bcp_readfmt dopo bcp_init ma prima di bcp_exec.
La funzione bcp_control controlla diverse opzioni durante la copia bulk in SQL Server da un file di dati. bcp_control imposta opzioni, ad esempio il numero massimo di errori prima della terminazione, la riga nel file in cui avviare la copia bulk, la riga su cui arrestarsi e le dimensioni del batch.