Executando operações de cópia em massa (ODBC)

O padrão ODBC não dá suporte diretamente a operações de cópia em massa do SQL Server. Quando conectado a uma instância do SQL Server versão 7.0 ou posterior, o driver ODBC do SQL Server Native Client dá suporte às funções DB-Library que executam operações de cópia em massa do SQL Server. Esta extensão específica do driver fornece um caminho de atualização fácil para aplicativos DB-Library existente que usam funções de cópia em massa. O suporte especializado à cópia em massa se encontra nos seguintes arquivos:

  • sqlncli.h

    Inclui protótipos de função e definições de constantes para funções de cópia em massa. O sqlncli.h deve ser incluído no aplicativo ODBC que executa operações de cópia em massa e deve estar no caminho de inclusão do aplicativo quando ele for compilado.

  • sqlncli10.lib

    Deve estar no caminho da biblioteca do vinculador e ser especificado como um arquivo a ser vinculado. O sqlncli10.lib é distribuído com o driver ODBC do SQL Server Native Client.

  • sqlncli10.dll

    Deve estar presente no tempo de execução. O sqlncli10.dll é distribuído com o driver ODBC DO SQL Server Native Client.

ObservaçãoObservação

A função ODBC SQLBulkOperations não tem qualquer relação com as funções de cópia em massa do SQL Server. Os aplicativos devem usar as funções de cópia em massa específicas do SQL Server para executar operações de cópia em massa.

Cópias em massa com registro mínimo

Com o modelo de Recuperação Completa, todas as operações de inserção de linha executadas pelo carregamento em massa são totalmente registradas no log de transações. Em grandes carregamentos de dados, isso pode preencher o log de transações rapidamente. Em determinadas condições, é possível fazer um registro mínimo. O registro mínimo reduz a possibilidade de uma operação de carregamento em massa preencher o espaço do log, além de ser mais eficiente que o registro completo.

Para obter informações sobre como usar o registro mínimo, consulte Pré-requisitos para log mínimo em importação em massa.

Comentários

Ao usar o bcp.exe no SQL Server 2005 ou posterior, você pode obter erros em situações onde não havia erros antes do SQL Server 2005. Isto se deve ao fato de, nas versões posteriores, o bcp.exe não executar mais a conversão implícita de tipo de dados. Antes do SQL Server 2005, o bcp.exe convertia dados numéricos em um tipo de dados money, se a tabela de destino tivesse um tipo de dados money. Porém, nessa situação, o bcp.exe simplesmente truncava os campos extras. A partir do SQL Server 2005, se não há uma correspondência dos tipos de dados entre o arquivo e a tabela de destino, o bcp.exe gera um erro, caso haja algum dado que teria de ser truncado para se ajustar à tabela de destino. Para resolver este erro, corrija os dados para que correspondam ao tipo de dados de destino. Opcionalmente, use o bcp.exe de uma versão anterior ao SQL Server 2005.