Condividi tramite


Procedura: Copia bulk di dati da variabili di programma (ODBC)

Viene presentato un esempio che mostra come utilizzare le funzioni che consentono di eseguire la copia bulk di dati dalle variabili di programma a SQL Server utilizzando bcp_bind e bcp_sendrow. Per semplificare questo esempio è stato rimosso il codice per il controllo degli errori.

Il codice di esempio completo si trova nel file BulkCopyFromVariables.cpp che è possibile scaricare dalla pagina SQL Server Code Samples. Questo esempio è stato sviluppato utilizzando Microsoft Visual C++ 2005 per ODBC versione 3.0 o successiva.

Nota sulla protezione  Quando ando possibile, utilizzare l'autenticazione di Windows. Se non è disponibile, verrà richiesto agli utenti 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 utilizzare le funzioni di copia bulk direttamente sulle variabili di programma

  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.

    • Specificare NULL come nome del file di dati.

    • 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, ovvero DB_IN per indicare la copia dall'applicazione alla vista o alla tabella oppure DB_OUT per indicare la copia dalla tabella o dalla vista all'applicazione.

  5. Chiamare il metodo bcp_bind per ogni colonna della copia bulk da associare alla colonna di una variabile di programma.

  6. Inserire dati nelle variabili di programma e chiamare bcp_sendrow per inviare una riga di dati.

  7. Dopo che sono state inviate diverse righe, chiamare bcp_batch per eseguire il checkpoint delle righe già inviate. È consigliabile chiamare bcp_batch almeno una volta ogni 1000 righe.

  8. Dopo che tutte le righe sono state inviate, chiamare bcp_done per completare l'operazione.

È possibile variare il percorso e la lunghezza delle variabili di programma durante un'operazione di copia bulk chiamando i metodi bcp_colptr e bcp_collen. Utilizzare bcp_control per impostare le varie opzioni di copia bulk. Utilizzare bcp_moretext per inviare i dati text, ntext e image in segmenti al server.