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

Par défaut, ODBC ne prend pas directement en charge les opérations de copie en bloc SQL Server. En cas de connexion à une instance de SQL Server version 7.0 ou ultérieure, le pilote ODBC SQL Server Native Client prend en charge les fonctions de la bibliothèque de bases de données qui effectuent les 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é.

  • sqlncli10.lib

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

  • sqlncli10.dll

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

[!REMARQUE]

La fonction ODBC SQLBulkOperations n'a aucun lien 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 les 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 l'enregistrement minimal, consultez Conditions requises pour une journalisation minimale dans l'importation en bloc.

Remarque

Lors de l'utilisation de bcp.exe dans SQL Server 2005 ou version ultérieure, il se peut que vous rencontriez des erreurs là où il n'en existait pas avant SQL Server 2005. 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, bcp.exe convertissait les données numériques en type de données money, si la table cible avait un tel type. Toutefois, dans ce cas, bcp.exe tronquait simplement les champs supplémentaires. Dans SQL Server 2005, quand les types de données ne correspondent pas entre le fichier et la table cible, bcp.exe déclenche une erreur s'il existe des données qui devraient être tronquées pour contenir dans la table cible. Pour résoudre cette erreur, corrigez les données de sorte qu'elles correspondent au type de données cible. Le cas échéant, utilisez bcp.exe à partir d'une version antérieure à SQL Server 2005.