Procedura: Creazione di un file di formato per la copia bulk (ODBC)

In un esempio completo viene illustrato come utilizzare le funzioni di copia bulk per creare un file di dati e un file di formato. Il codice di esempio completo si trova nel file BulkCopyWithFormat.cpp che è possibile scaricare dalla pagina SQL Server Downloads su MSDN. Questo esempio è stato sviluppato utilizzando Microsoft Visual C++ 2005 per ODBC versione 3.0 o successiva.

Nota sulla protezioneNota sulla protezione

Se possibile, utilizzare l'autenticazione di Windows. Se non è disponibile, agli utenti verrà richiesto di immettere le credenziali in fase di esecuzione. Evitare di archiviare le credenziali in un file. Se è necessario rendere persistenti le credenziali, è consigliabile crittografarle utilizzando CryptoAPI Win32.

Per creare un file di formato per la copia bulk

  1. Allocare un handle di ambiente e un handle di connessione.

  2. Impostare SQL_COPT_SS_BCP e SQL_BCP_ON in modo da abilitare le operazioni di copia bulk.

  3. Connettersi a SQL Server.

  4. Chiamare bcp_init per impostare le informazioni seguenti:

    • Nome della tabella o della vista dalla quale o nella quale si desidera eseguire la copia bulk.

    • Nome del file di dati che contiene i dati da copiare nel database o che riceve dati in caso di copia dal database.

    • Nome di un file di dati per la ricezione di eventuali messaggi di errore della copia bulk (specificare NULL se non si desidera che venga creato un file dei messaggi).

    • Direzione della copia: DB_OUT nel file dalla tabella o dalla vista.

  5. Chiamare bcp_columns per impostare il numero di colonne.

  6. Chiamare bcp_colfmt per ogni colonna per definirne le caratteristiche nel file di dati.

  7. Chiamare bcp_writefmt per creare un file di formato che descriva il file di dati da creare mediante l'operazione di copia bulk.

  8. Chiamare bcp_exec per eseguire l'operazione di copia bulk.

L'esecuzione di un'operazione di copia bulk in questo modo determina la creazione di un file di dati che contiene i dati oggetti della copia bulk e un file di formato che descrive il layout del file di dati.