Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
O programa de cópia em massa mais simples faz o seguinte:
As chamadas bcp_init especificar cópia em massa (set BCP_OUT) de uma tabela ou vista para um ficheiro de dados.
Chamadas bcp_exec para executar a operação de cópia em massa.
O ficheiro de dados é criado em modo nativo; Assim, os dados de todas as colunas da tabela ou vista são armazenados no ficheiro de dados no mesmo formato que na base de dados. O ficheiro pode então ser copiado em massa para um servidor usando estes mesmos passos e definindo DB_IN em vez de DB_OUT. Isto só funciona se tanto a tabela de origem como a de destino tiverem exatamente a mesma estrutura. O ficheiro de dados resultante pode também ser introduzido na utilidade bcp usando o interruptor /n (modo nativo).
Para copiar em massa o conjunto de resultados de uma instrução Transact-SQL em vez de diretamente de uma tabela ou vista:
Ligue bcp_init para especificar cópias em massa, mas especifique NULL para o nome da tabela.
Chama-bcp_control com eOption definido para BCPHINTS e iValue definido para um ponteiro para uma string SQLTCHAR contendo a instrução Transact-SQL.
Ligue bcp_exec para executar a operação de cópia em massa.
A afirmação Transact-SQL pode ser qualquer afirmação que gere um conjunto de resultados. O ficheiro de dados é criado contendo o primeiro conjunto de resultados da instrução Transact-SQL. A cópia em massa ignora qualquer conjunto de resultados após o primeiro se a instrução Transact-SQL gerar múltiplos conjuntos de resultados.
Para criar um ficheiro de dados em que os dados das colunas são armazenados num formato diferente do da tabela, chame bcp_columns para especificar quantas colunas serão alteradas e depois chame bcp_colfmt para cada coluna cujo formato pretende alterar. Isto é feito depois de ligar para bcp_init , mas antes de ligar para bcp_exec. bcp_colfmt especifica o formato em que os dados da coluna são armazenados no ficheiro de dados. Pode ser usado para copiar em massa para dentro ou para fora. Também podes usar bcp_colfmt para definir os terminadores de linha e coluna. Por exemplo, se os seus dados não conterem caracteres tabulador, pode criar um ficheiro delimitado por tabulação usando bcp_colfmt para definir o carácter tab como terminador para cada coluna.
Ao copiar em massa e usar bcp_colfmt, pode facilmente criar um ficheiro de formato que descreva o ficheiro de dados que criou, chamando-bcp_writefmt após a última chamada para bcp_colfmt.
Ao copiar em massa a partir de um ficheiro de dados descrito por um ficheiro de formato, leia o ficheiro de formato chamando bcp_readfmt após bcp_init mas antes de bcp_exec.
A função bcp_control controla várias opções ao copiar em massa para SQL Server a partir de um ficheiro de dados. bcp_control define opções, como o número máximo de erros antes da terminação, a linha no ficheiro onde deve iniciar a cópia em massa, a linha onde deve parar e o tamanho do lote.