Condividi tramite


Procedura: Copia bulk senza un file di formato (ODBC)

In un esempio completo viene illustrato come utilizzare le funzioni di copia bulk per creare un file di dati in modalità nativa. Il codice di esempio completo si trova nel file BulkCopyNativeMode.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 utilizzando CryptoAPI Win32.

Per eseguire la copia bulk senza un file di formato

  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_IN dal file alla tabella o alla vista, DB_OUT dalla tabella o dalla vista al file.

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

Quando DB_OUT viene impostato con questi passaggi, il file viene creato in formato nativo. È quindi possibile eseguire la copia bulk del file in un server utilizzando questi stessi passaggi, con la differenza che viene impostato DB_OUT anziché DB_IN. È possibile procedere in questo modo solo se le tabelle di origine e di destinazione hanno una struttura identica.