Compartilhar via


Como copiar em massa um conjunto de resultados de SELECT (ODBC)

Um exemplo completo mostra como usar as funções de cópia em massa para copiar em massa o conjunto de resultados de uma instrução SELECT. O código de exemplo completo se encontra no arquivo BulkCopySelectResult.cpp, que pode ser baixado na página SQL Server Downloads do MSDN. Esse exemplo foi desenvolvido com o Microsoft Visual C++ 2005 para o ODBC versão 3.0 ou posterior.

Observação sobre segurançaObservação sobre segurança

Quando possível, use a Autenticação do Windows. Se a Autenticação do Windows não estiver disponível, solicite aos usuários que digitem suas credenciais em tempo de execução. Evite armazenar credenciais em um arquivo. Se for necessário manter as credenciais, criptografe-as com a API de criptografia Win32.

Para copiar em massa o conjunto de resultados de uma instrução SELECT

  1. Aloque um identificador de ambiente e um identificador de conexão.

  2. Defina SQL_COPT_SS_BCP e SQL_BCP_ON para habilitar operações de cópia em massa.

  3. Conecte-se ao SQL Server.

  4. Chame bcp_init para definir as seguintes informações:

    • Especifique o parâmetro szTable como NULL.

    • O nome do arquivo de dados que recebe dados de conjunto de resultados.

    • O nome de um arquivo de dados que receberá qualquer mensagem de erro de cópia em massa (especifique NULL se não desejar um arquivo de mensagens).

    • A direção da cópia: DB_OUT.

  5. Chame bcp_control, defina eOption como BCPHINTS e coloque em iValue um ponteiro para uma matriz SQLTCHAR contendo a instrução SELECT.

  6. Chame bcp_exec para executar a operação de cópia em massa.

Ao usar essas etapas, o arquivo será criado no formato nativo. Você pode converter os valores de dados em outros tipos de dados usando bcp_colfmt. Para obter mais informações, consulte Como criar um arquivo de formato de cópia em massa (ODBC).