Hoje em dia existe tantas ferramentas de ETL.

Porque eu insisto em força o uso do comando Bulk Insert para meus alunos......

Simples quero formar os melhores. 

 

Vamos la este artigo vamos abordar os principais erros de quem esta se familiarizando com o Bulk Insert. 

 

1.) Verify that the field terminator and row terminator are specified correctly.

Isto ocorre porque o  Bulk Insert não entendeu o final de linha do arquivo a ser importado, muitas vezes vocês podem estar importando arquivos de sistemas baseados em Unix/Linux.

Então vai as dicas para o ROWTERMINATOR

ROWTERMINATOR = '\n'

ROWTERMINATOR = '\r\n'

ROWTERMINATOR = '\r'

ROWTERMINATOR = '0x0a'

Ex:

 

BULK INSERT <<TABELA DESTINO >> FROM '<<LOCAL\ARQUIVO.CSV' WITH     ( FIELDTERMINATOR ='§',   ROWTERMINATOR = '0x0a'    );  

 

2.) Ao importar o arquivo veio vários "caracteres estranhos", tipo carinhas no lugar de  acentuação, etc...

Neste caso temos que rever o CODEPAGE 

CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' }

CODEPAGE = { 'code_page' EXEMPLO = '65001' }

BULK INSERT <<TABELA DESTINO >> FROM '<<LOCAL\ARQUIVO.CSV' WITH     ( FIELDTERMINATOR ='§',   ROWTERMINATOR = '0x0a'  , CODEPAGE ='ACP');  

 

CONTINUA...

 MAIORES INFORMAÇÕES : https://docs.microsoft.com/pt-br/sql/t-sql/statements/bulk-insert-transact-sql?view=sql-server-2017