Partage via


Exécution d'opérations de copie en bloc (ODBC)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

La norme ODBC ne prend pas directement en charge les opérations de copie en bloc SQL Server. Lorsqu’il est connecté à une instance de SQL Server version 7.0 ou ultérieure, le pilote ODBC SQL Server Native Client prend en charge les fonctions de bibliothèque de bases de données qui effectuent des opérations de copie en bloc SQL Server. Cette extension spécifique au pilote fournit un chemin d'accès de mise à niveau simple pour les applications de bibliothèque de bases de données existantes qui utilisent les fonctions de copie en bloc. La copie en bloc spécialisée est prise en charge dans les fichiers suivants :

  • sqlncli.h

    Inclut les prototypes de fonction et les définitions de constante pour les fonctions de copie en bloc. sqlncli.h doit être inclus dans l'application ODBC exécutant les opérations de copie en bloc et se trouver dans le chemin d'accès Include de l'application lorsqu'il est compilé.

  • sqlncli11.lib

    Doit être dans le chemin d'accès de la bibliothèque de l'éditeur de liens et spécifié comme fichier à lier. sqlncli11.lib est distribué avec le pilote ODBC SQL Server Native Client.

  • sqlncli11.dll

    Doit être présent lors de l'exécution. sqlncli11.dll est distribué avec le pilote ODBC SQL Server Native Client.

Remarque

La fonction ODBC SQLBulkOperations n’a aucune relation avec les fonctions de copie en bloc SQL Server. Les applications doivent utiliser les fonctions de copie en bloc spécifiques à SQL Server pour effectuer des opérations de copie en bloc.

Enregistrement minimal des copies en bloc dans le journal

Avec le mode de récupération complète, toutes les opérations d'insertion de lignes effectuées par le chargement en masse sont intégralement enregistrées dans le journal des transactions. Pour les chargements de données volumineux, le journal des transactions peut se remplir rapidement. Sous certaines conditions, l'enregistrement minimal est possible. L'enregistrement minimal réduit le risque qu'une opération de chargement en masse ne remplisse l'espace du journal et se révèle plus efficace que l'enregistrement complet.

Pour plus d’informations sur l’utilisation de la journalisation minimale, consultez Conditions préalables pour la journalisation minimale dans l’importation en bloc.

Notes

Lorsque vous utilisez bcp.exe dans SQL Server 2005 (9.x) ou version ultérieure, vous pouvez voir des erreurs dans des situations où aucune erreur n’a été détectée avant SQL Server 2005 (9.x). La raison en est que dans les versions ultérieures, bcp.exe n'effectue plus la conversion implicite des types de données. Avant SQL Server 2005 (9.x), bcp.exe données numériques converties en type de données monétaires, si la table cible avait un type de données monétaire. Toutefois, dans ce cas, bcp.exe tronquait simplement les champs supplémentaires. À compter de SQL Server 2005 (9.x), si les types de données ne correspondent pas entre le fichier et la table cible, bcp.exe génère une erreur s’il existe des données qui doivent être tronquées pour s’adapter à la table cible. Pour résoudre cette erreur, corrigez les données de sorte qu'elles correspondent au type de données cible. Si vous le souhaitez, utilisez bcp.exe d’une version antérieure à SQL Server 2005 (9.x).

Dans cette section

Voir aussi

SQL Server Native Client (ODBC)
Importation et exportation en bloc de données (SQL Server)