none
(c#) Ler arquivo Txt e Gravar em Tabela no SQL RRS feed

  • Pergunta

  • Boa tarde,

    Tenho um arquivo txt onde as informações estão separaras por ";" , preciso subir uma rotina que 

    leia esse arquivo e grave de acordo com a parametrização na tabela do SQL.

    Exemplo de como esta o arquivo:

    01111;NOME FUNC;ENDERECO RESID;

    Procurei em outros tópicos, porém nada acabou encaixando exatamente como preciso.

    Se puderem me ajudar, agradeço.

    Obrigado

    segunda-feira, 24 de junho de 2013 18:22

Respostas

  • Wescley, 

    Veja se o exemplo abaixo te ajuda.. 

    Abraços.. 

    using System;
    using System.Linq;
    using System.IO;
    
    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
                ler();
            }
    
            public class Cliente
            {
                public string Nome { get; set; }
                public string SobreNome { get; set; }
                public string Idade { get; set; }
                public string Pais { get; set; }
            }
    
            static void ler()
            {
                string caminhoArquivo = "Clientes.txt";
                var consulta = from linha in File.ReadAllLines(caminhoArquivo)
                               let clienteDados = linha.Split(new char[]{';'},StringSplitOptions.RemoveEmptyEntries)
                               select new Cliente()
                                   {
                                       Nome = clienteDados[0],
                                       SobreNome = clienteDados[1],
                                       Idade = clienteDados[2],
                                       Pais = clienteDados[3],
                                   };
    
                foreach (var item in consulta)
                {
                    Console.WriteLine(item.Nome + "," + item.SobreNome + "," + item.Idade + "," + item.Pais);
                }
                           
                Console.ReadLine();
            }
        }
    }
    


    Marcio S Silva | http://marsosi.blogspot.com | marsosil@ovi.com

    • Sugerido como Resposta Márcio S Silva quarta-feira, 26 de junho de 2013 13:21
    • Marcado como Resposta Marcos SJ sexta-feira, 2 de outubro de 2015 18:51
    quarta-feira, 26 de junho de 2013 13:20

Todas as Respostas

  • Tenho um arquivo txt onde as informações estão separaras por ";" , preciso subir uma rotina que 

    leia esse arquivo e grave de acordo com a parametrização na tabela do SQL.

    Exemplo de como esta o arquivo:

    01111;NOME FUNC;ENDERECO RESID;

    Procurei em outros tópicos, porém nada acabou encaixando exatamente como preciso.

    Se puderem me ajudar, agradeço.

    segunda-feira, 24 de junho de 2013 19:02
  • Da uma olhadinha neste link,e adapta no seu código.

    http://social.msdn.microsoft.com/Forums/pt-BR/eb04d472-cf68-4f44-8dd2-e27cf4bf723d/importar-txt-para-sql-server-2008

    Se te ajudou marca como resposta.

    segunda-feira, 24 de junho de 2013 19:20
  • Então, valeu...mas eu queria montar uma rotina em C# para ler o arquivo e gravar no banco de dados.

    E não importar direto... 

    segunda-feira, 24 de junho de 2013 19:38
  • Veja como ler o arquivo e armazenar em um list neste post em meu blog, depois basta percorrer o list e realizar o insert.


     "Feliz aquele que transfere o saber e aprende o que ensina."(Cora Coralina)


    Pablo Batista Cardoso
    www.pablobatistacardoso.com.br
    pablobatistacardoso@hotmail.com

    segunda-feira, 24 de junho de 2013 19:51
  • Cara é so colocar no sqlCommand,como no exemplo abaixo:

    SqlCommand cmd = new SqlCommand("

    BULK INSERT tbulk FROM 'C:\arquivo.txt' WITH( FIRSTROW = 1, FIELDTERMINATOR ='|')", sqlConn);

    Simples!!!

    segunda-feira, 24 de junho de 2013 20:12
  • Wescley conseguiu resolver sua questão?

     "Feliz aquele que transfere o saber e aprende o que ensina."(Cora Coralina)


    Pablo Batista Cardoso
    www.pablobatistacardoso.com.br
    pablobatistacardoso@hotmail.com

    quarta-feira, 26 de junho de 2013 12:48
  • Wescley, 

    Veja se o exemplo abaixo te ajuda.. 

    Abraços.. 

    using System;
    using System.Linq;
    using System.IO;
    
    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
                ler();
            }
    
            public class Cliente
            {
                public string Nome { get; set; }
                public string SobreNome { get; set; }
                public string Idade { get; set; }
                public string Pais { get; set; }
            }
    
            static void ler()
            {
                string caminhoArquivo = "Clientes.txt";
                var consulta = from linha in File.ReadAllLines(caminhoArquivo)
                               let clienteDados = linha.Split(new char[]{';'},StringSplitOptions.RemoveEmptyEntries)
                               select new Cliente()
                                   {
                                       Nome = clienteDados[0],
                                       SobreNome = clienteDados[1],
                                       Idade = clienteDados[2],
                                       Pais = clienteDados[3],
                                   };
    
                foreach (var item in consulta)
                {
                    Console.WriteLine(item.Nome + "," + item.SobreNome + "," + item.Idade + "," + item.Pais);
                }
                           
                Console.ReadLine();
            }
        }
    }
    


    Marcio S Silva | http://marsosi.blogspot.com | marsosil@ovi.com

    • Sugerido como Resposta Márcio S Silva quarta-feira, 26 de junho de 2013 13:21
    • Marcado como Resposta Marcos SJ sexta-feira, 2 de outubro de 2015 18:51
    quarta-feira, 26 de junho de 2013 13:20
  • Caso tenha conseguido a solução finalize sua Thread marcando a resposta

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    domingo, 28 de junho de 2015 15:30