Cómo hacer una copia masiva de un conjunto de resultados de una instrucción SELECT (ODBC)

En un ejemplo completo se muestra cómo utilizar las funciones de copia masiva para generar la salida de copia masiva de un conjunto de resultados de una instrucción SELECT. El ejemplo de código completo se encuentra en el archivo BulkCopySelectResult.cpp, que puede descargar de la página de descargas de SQL Server en MSDN. Este ejemplo se desarrolló utilizando Microsoft Visual C++ 2005 para ODBC versión 3.0 o posterior.

Nota de seguridadNota de seguridad

Siempre que sea posible, utilice la autenticación de Windows. Si la autenticación de Windows no está disponible, solicite a los usuarios que escriban sus credenciales en tiempo de ejecución. No guarde las credenciales en un archivo. Si tiene que conservar las credenciales, debería cifrarlas con la API de criptografía de Win32.

Para una salida de copia masiva del conjunto de resultados de una instrucción SELECT

  1. Asigne un identificador de entorno y un identificador de conexión.

  2. Establezca SQL_COPT_SS_BCP y SQL_BCP_ON para habilitar las operaciones de copia masiva.

  3. Conéctese a SQL Server.

  4. Llame a bcp_init para establecer la siguiente información:

    • Especifique NULL para el parámetro szTable.

    • El nombre del archivo de datos que recibe los datos del conjunto de resultados.

    • El nombre de un archivo de datos donde se van a recibir los mensaje de error de la copia masiva (especifique NULL si no desea un archivo de mensajes).

    • La dirección de la copia: DB_OUT.

  5. Llame a bcp_control, establezca eOption en BCPHINTS y coloque en iValue un puntero a una matriz SQLTCHAR que contiene la instrucción SELECT.

  6. Llame a bcp_exec para ejecutar la operación de copia masiva.

Al utilizar estos pasos se crea el archivo en formato nativo. Puede convertir los valores de datos en otros tipos de datos utilizando bcp_colfmt. Para obtener más información, vea Cómo crear un archivo de formato de copia masiva (ODBC).