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