Share via


Esecuzione di operazioni di copia bulk (ODBC)

Lo standard ODBC non supporta direttamente le operazioni di copia bulk SQL Server. In caso di connessione a un'istanza di SQL Server versione 7.0 o successiva, il driver ODBC di SQL Server Native Client supporta le funzioni DB-Library che eseguono operazioni di copia bulk SQL Server. Questa estensione specifica del driver fornisce un percorso di aggiornamento semplice per le applicazioni DB-Library esistenti che utilizzano le funzioni di copia bulk. Il supporto specifico per la copia bulk è disponibile nei file seguenti:

  • sqlncli.h

    Include prototipi di funzione e definizioni di costanti per le funzioni di copia bulk. sqlncli.h deve essere incluso nell'applicazione ODBC che esegue le operazioni di copia bulk e deve trovarsi nel percorso di inclusione dell'applicazione quando viene compilato.

  • sqlncli10.lib

    Deve trovarsi nel percorso della libreria del linker e deve essere specificato come file da collegare. sqlncli10.lib viene distribuito con il driver ODBC di SQL Server Native Client.

  • sqlncli10.dll

    Deve essere presente in fase di esecuzione. sqlncli10.dll viene distribuito con il driver ODBC di SQL Server Native Client.

[!NOTA]

La funzione ODBC SQLBulkOperations non ha alcuna relazione con le funzioni di copia bulk di SQL Server. Per eseguire le operazioni di copia bulk è necessario che le applicazioni utilizzino le funzioni di copia bulk specifiche di SQL Server.

Registrazione minima delle copie bulk

Con un modello di recupero con registrazione completa, tutte le operazioni di inserimento di righe eseguite durante il caricamento bulk vengono registrate in modo completo nel log delle transazioni. In caso di caricamenti di grandi quantità di dati, questo può causare un rapido esaurimento dello spazio disponibile nel log delle transazioni. In determinate condizioni la registrazione minima è consentita. Tale registrazione riduce la possibilità che un'operazione di caricamento bulk riempia lo spazio di log e risulta anche più efficiente della registrazione completa.

Per informazioni sull'utilizzo della registrazione minima, vedere Prerequisiti per la registrazione minima nell'importazione bulk.

Osservazioni

Quando bcp.exe viene utilizzato in SQL Server 2005 o versione successiva, potrebbero essere visualizzati errori nelle situazioni in cui non si presenta alcun errore nelle versioni precedenti a SQL Server 2005. Questo avviene perché nelle versioni successive bcp.exe non esegue più la conversione implicita dei tipi di dati. Nelle versioni precedenti a SQL Server 2005 bcp.exe converte i dati numerici in un tipo di dati money, se la tabella di destinazione contiene tale tipo di dati. In tale situazione, tuttavia, bcp.exe tronca semplicemente i campi aggiuntivi. A partire da SQL Server 2005, se i tipi di dati del file e della tabella di destinazione non corrispondono, in bcp.exe viene generato un errore se sono presenti dati che dovrebbero essere troncati per essere contenuti nella tabella di destinazione. Per risolvere questo errore, correggere i dati in modo che corrispondano al tipo di dati di destinazione. Se si desidera, è possibile utilizzare il file bcp.exe di una versione precedente a SQL Server 2005.