Exportar arquivo csv C# e importar com o BULK INSERT SQL SERVER 2008
-
segunda-feira, 2 de abril de 2012 22:02
Olá a todos,
Eu estou implementando uma aplicação que gera arquivos csv e com uma procedure chamada por uma job que importa esse csv, o problema aconteceu e não sei a causa, pois depois do csv gerado não tá conseguindo importar e eu sei que os dados em si estão corretos pois quando eu copiei o conteúdo do csv e colei em um novo arquivo txt ele importou tudo oq estava no txt sem nenhum erro.
Alguem pode me ajudar?
Abraços
Todas as Respostas
-
segunda-feira, 9 de abril de 2012 19:12
Eu tive um problema parecido algum tempo atrás, no entanto, importando de CSV para uma base de dados MySQL
Deixe eu te mostrar um exemplo prático. Se for o mesmo que ocorrer com voce, poderá tirar uma base para a solução:
if (colunas[3].Substring(0,5) == "Ordem")
{
_docto = colunas[2].Trim().PadLeft(8, '0');
_numCarga = colunas[3].Trim().PadLeft(8,'0');
_material = colunas[4].Trim().PadLeft(16,'0');
_qtde = Convert.ToDouble(colunas[5]);
}
No arquivo csv eu estava tendo um problema para apontamentos em caso de Ordem. Isto porque o arquivo de saída estava inserindo aspas no csv. No meu exemplo, lá em Substring(0,5) eu estava tendo um problema, pois como a contagem dos caracteres se inicia a partir do zero, a palavra "Ordem" ficaria reduzida a apenas "rdem", e já parava por ai. No caso de um arquivo txt, normalmente não temos a saída das aspas.
Convém você abrir o arquivo csv de saída e verificar isto, Saint. Caso a referencia seja perdida, com as aspas, durante esta contagem do substring (meu caso), vai ter este problema. A solução eu tive alterando de Substring(0,5) para Substring(1,5), evitando alterar o arquivo de saída
Não sei se ajuda.. Mas espero ser ao menos uma luz
Até mais

