Usuário com melhor resposta
Importação Bulk Insert

Pergunta
-
Galera,
graças as posts anteriores já estou conseguindo importar o arquivo Txt, porém a quantidade de registro importado não está batendo com a quantidade de registro do arquivo.
Peguei alguns exemplos e não identifiquei o pq não terem sido importados.
Alguém tem ideia?
Daniel
Respostas
-
Olá,
Sugiro que crie um novo arquivo, com apenas 10 linhas.. limpe todos os espaços entre as linhas, deixando realmente todos os registros em apenas 1 linha (sem word wrap), uma linha embaixo da outra.
Faça a carga e veja se a quantidade bate. Se tudo ok, aumente para uns 100 registros, e teste novamente.
Se tudo ok, o procedimento está correto (comando BULK), e o problema é no arquivo. Tente verificar o word wrap, o espaçamento entre linhas (conforme citado acima).
Tente também, importar o arquivo via Import/Export, direto pelo SSMS. Selecione as mesmas opções de delimitador e veja o resultado. Na tela do Import, há inclusive um preview das informações, que mostrará se as linhas estão sendo cortadas ao meio, por exemplo.
Um abraço,
Raul Santos Neto- Marcado como Resposta dralves segunda-feira, 16 de fevereiro de 2009 12:01
Todas as Respostas
-
-
-
-
-
-
-
-
primeiro tente importar sem usar a formatacao em uma tabela, para ver se vem todas as linhas, caso esteja ok tem que revisar o delimitador nao tem outra alternativa, para testar use um pacote do integration acho que o problema seu deve estar no delimitador de linha e nao de coluna qual delimitador de linha vc. esta usando ?
mcolla@bol.com.br -
-
-
-
-
Olá dralves,
Note que a quantidade de registros inseridos é exatamente a metade dos arquivos que você diz existir em seu arquivo.
A pergunta pode parecer besta, mas onde você está visualizando o TXT para saber quantos linhas existem? No Notepad? Você desmarcou a opção Word Wrap (Menu Format > Word Wrap), certo? Pode ser que sua linha seja comprida, esteja duplicando, e ao contar, você acha que tem o dobro de linhas!
De qualquer forma, poste aqui o comando BULK que você está utilizando e três linhas (as 3 iniciais) do teu arquivo.
Um abraço,
Raul Santos Neto -
-
UF|Ano_Mes_Fat|Nr_CNPJ_CPF_Cliente|Cd_Localidade|Nr_Meio_Acesso|Nr_Conjunta|Nr_Sequencia|Dt_Novo_Vencto|Dt_Recebimento|Dt_Cancelamento|Cd_Cancelamento|Vl_Telemar|Vl_Terceiros|Vl_Credito|Tp_Assinante|Dt_Instalacao|Tp_Linha|Cd_Servico|Unidade_Negocio|Id_Fis_Jur|Dac|Cd_Relac_Cliente|Tipo_Pessoa|Nr_Ciclo|Cd_Risco|Cod_Plano|Familia_Plano
RR|200803|42863732234|2799|36237385|0|3|2008-04-01 00:00:00|2008-04-30 00:00:00||0|91,33|20|0|2|2007-09-15 00:00:00|100|0|VARRES|1|0|10|PF|6|99999||
RR|200811|74783742200|2490|32631909|0|7|2008-12-11 00:00:00|2008-12-09 00:00:00||0|10,33|0|0|2|2008-02-06 00:00:00|100|0|VARRES|1|0|10|PF|8|331|BLOT01|BLOQUEIO
Daniel -
Estou visualizando no UltraEdit.
Acabei de postar 2 linhas do arquivo txt
Comando Bulk Insert
BULK
INSERT dbo.D_Faturas_BA_Fixa1FROM
'D:\FIXA_PA_PI_RN_SE\RR.txt'WITH
(FORMATFILE = 'c:\\daniel\teste.fmt',ROWTERMINATOR
= '\n',FIRSTROW
= 2,KEEPNULLS
)
Daniel -
-
Olá,
Sugiro que crie um novo arquivo, com apenas 10 linhas.. limpe todos os espaços entre as linhas, deixando realmente todos os registros em apenas 1 linha (sem word wrap), uma linha embaixo da outra.
Faça a carga e veja se a quantidade bate. Se tudo ok, aumente para uns 100 registros, e teste novamente.
Se tudo ok, o procedimento está correto (comando BULK), e o problema é no arquivo. Tente verificar o word wrap, o espaçamento entre linhas (conforme citado acima).
Tente também, importar o arquivo via Import/Export, direto pelo SSMS. Selecione as mesmas opções de delimitador e veja o resultado. Na tela do Import, há inclusive um preview das informações, que mostrará se as linhas estão sendo cortadas ao meio, por exemplo.
Um abraço,
Raul Santos Neto- Marcado como Resposta dralves segunda-feira, 16 de fevereiro de 2009 12:01
-
-
Os espaços vazios são os campos que não possem mesmo informação, porém são separadas por " | ", ou seja, são colunas e tem que existir mesmo.
Consegui importar pelo SSIS. Porém tive que configurar o output do arquivo txt, alguns campos não foram convertidos automaticamente.
A pergunta é. Como faço isso no Bulk Insert?
Daniel -
dralves disse:
Marcelo,
testei importando sem as formatações de uma tabela e não importou todos os registros( a quantidade importada é a mesma do que a anterior)
Daniel
so para testar abra no word pad e salve o arquivo so abra e salve depois tente importar novamente. ( e so um teste )
Abs;
mcolla@bol.com.br -
Marcelo finalmente consegui importar, porém quando tento fazer o mesmo procedimento do meu servidor para a máquina ele não está conseguindo encontrar o arquivo.
Msg 4861, Level 16, State 1, Line 1
Cannot bulk load because the file "\\10.20.89.89\Trabalho\RR.txt" could not be opened. Operating system error code 5(error not found).
Daniel -