Partager via


Procédure : copier en bloc un jeu de résultats SELECT (ODBC)

Un exemple complet montre comment utiliser les fonctions de copie en bloc dans le cas d'un jeu de résultats d'une instruction SELECT. La totalité du code se trouve dans le fichier BulkCopySelectResult.cpp, que vous pouvez télécharger à partir de la page Téléchargements SQL Server de MSDN (en anglais). Cet exemple a été développé à l'aide de Microsoft Visual C++ 2005 et a été développé pour ODBC version 3.0 ou ultérieure.

Remarque relative à la sécuritéRemarque relative à la sécurité

Si possible, utilisez l'authentification Windows. Si l'authentification Windows n'est pas disponible, invitez les utilisateurs à entrer leurs informations d'identification au moment de l'exécution. Évitez de stocker ces informations dans un fichier. Si vous devez rendre les informations d'identification persistantes, chiffrez-les avec l'API de chiffrement Win32.

Pour copier en bloc le jeu de résultats d'une instruction SELECT

  1. Allouez un handle d'environnement et un handle de connexion.

  2. Définissez SQL_COPT_SS_BCP et SQL_BCP_ON de façon à activer les opérations de copie en bloc.

  3. Connectez-vous à SQL Server.

  4. Appelez bcp_init pour définir les informations suivantes :

    • Spécifiez NULL pour le paramètre szTable.

    • Nom du fichier de données recevant les données du jeu de résultats.

    • Nom d'un fichier de données devant recevoir tous les messages d'erreur de copie en bloc (spécifiez NULL si vous ne souhaitez pas de fichier de message).

    • Direction de la copie : DB_OUT.

  5. Appelez bcp_control, définissez eOption avec la valeur BCPHINTS et placez dans iValue un pointeur vers un tableau SQLTCHAR contenant l'instruction SELECT.

  6. Appelez bcp_exec pour exécuter l'opération de copie en bloc.

Durant ces étapes, le fichier est créé au format natif. Vous pouvez convertir les valeurs des données en d'autres types de données en utilisant bcp_colfmt. Pour plus d'informations, consultez Procédure : créer un fichier de format de copie en bloc (ODBC).