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

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

La norme ODBC ne prend pas directement en charge SQL Server opérations de copie en bloc. 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 DB-Library qui effectuent SQL Server opérations de copie en bloc. 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.

Notes

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 aux 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 Prérequis pour la journalisation minimale dans l’importation en bloc.

Remarques

Lorsque vous utilisez bcp.exe dans SQL Server 2005 (9.x) ou version ultérieure, vous pouvez voir des erreurs dans des situations où il n’y avait aucune erreur 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 convertissait des données numériques en type de données monétaires, si la table cible avait un type de données money. 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 si des données doivent être tronquées pour tenir dans 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)