Compartilhar via


Como copiar dados em massa de variáveis de programa (ODBC)

Existe um exemplo que mostra como usar funções de cópia em massa para copiar dados em massa de variáveis de programa para o SQL Server usando bcp_bind e bcp_sendrow. (O código de verificação de erro foi removido para simplificar o exemplo.)

O código de exemplo completo encontra-se neste arquivo: BulkCopyFromVariables.cpp, que você pode baixar da página SQL Server Code Samples. Esse exemplo foi desenvolvido com o Microsoft Visual C++ 2005 para o ODBC versão 3.0 ou posterior.

Observação de 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 as credenciais em um arquivo. Se precisar manter as credenciais, você deverá criptografá-las com a API de criptografia Win32.

Para usar funções de cópia em massa diretamente em variáveis de programa

  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:

    • O nome da tabela ou da exibição da qual ou para a qual será feita a cópia em massa.

    • Especifique NULL para o nome do arquivo de dados.

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

    • A direção da cópia: DB_IN do aplicativo para a exibição ou tabela ou DB_OUT para o aplicativo da tabela ou exibição.

  5. Chame bcp_bind para cada coluna na cópia em massa, de forma a associar a coluna a uma variável de programa.

  6. Preencha as variáveis de programa com dados e chame bcp_sendrow para enviar uma linha de dados.

  7. Depois que várias linhas forem enviadas, chame bcp_batch para verificar as linhas já enviadas. É uma prática recomendada para chamar bcp_batch pelo menos uma vez a cada 1.000 linhas.

  8. Depois que todas as linhas forem enviadas, chame bcp_done para concluir a operação.

Você pode variar o local e o comprimento de variáveis de programa durante uma operação de cópia em massa ao chamar bcp_colptr e bcp_collen. Use bcp_control para definir várias opções de cópia em massa. Use bcp_moretext para enviar dados text, ntext e image em segmentos para o servidor.