Condividi tramite


Procedura: Copia bulk di un set di risultati SELECT (ODBC)

In un esempio completo viene illustrato come utilizzare le funzioni di copia bulk per eseguire una copia bulk per l'esportazione del set di risultati di un'istruzione SELECT. Il codice di esempio completo si trova nel file BulkCopySelectResult.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, 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 tramite CryptoAPI Win32.

Per eseguire la copia bulk per l'esportazione del set di risultati di un'istruzione SELECT.

  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:

    • Specificare NULL per il parametro szTable.

    • Nome del file di dati per la ricezione del set di risultati.

    • 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.

  5. Chiamare bcp_control, impostare eOption su BCPHINTS e inserire in iValue un puntatore a una matrice SQLTCHAR che contiene l'istruzione SELECT.

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

Quando vengono seguiti questi passaggi, il file viene creato in formato nativo. È possibile convertire i valori dei dati in altri tipi di dati tramite bcp_colfmt. Per ulteriori informazioni, vedere Procedura: Creazione di un file di formato per la copia bulk (ODBC).