logo DevMedia  
Home Entenda o site Revistas Canais Cursos Palestras Suporte Fórum +Serviços Assine Compre Créditos

Edição do Mês
  Fórum DevMedia
Fórum de Discussão
Conheça também o NOVO fórum da DevMedia, no endereço: www.devmedia.com.br/forum
O novo fórum possui diversas vantagens! Saiba mais em
www.devmedia.com.br/articles/viewcomp.asp?comp=14726
Estamos sempre trabalhando na melhora do site como um todo! Bons códigos!
Equipe DevMedia

 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos  RegistrarRegistrar   
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 
Edição do Mês

Carregando dados csv em banco oracle
 
Novo Tópico   Responder Mensagem    Fórum DevMedia - Índice do Fórum -> .net - Outros assuntos
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Costeleta
Visitante





MensagemEnviada: Ter Set 16, 2008 3:35 pm    Assunto: Carregando dados csv em banco oracle Responder com Citação

Amigos,

estou desenvolvendo um script que carrega uma tabela no banco com dados de um arquivo csv, conforme código abaixo.
o programa está compilando, mas na hora da execução da um erro de codigo ORA-00911 dizendo que existe um caracter invalido na parte da query. alguem poderia me ajudar a identificar este erro. já tetei de tudo e não obtive exito.


C?o:
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                //definição da string de conexão com o banco de dados.
                string constr = "Data Source =XXXXXXXXXXXXX;User Id=ZZZZZZZZZZZ;Password=WwWwwW";

                //instanciando o objeto de conexão com o banco de dados, onde é passado a string de conexão por parâmetro.
                OracleConnection con = new OracleConnection(constr);

                //abrindo conexão
                con.Open();

                //criando o comando que fará a consulta ao banco de dados.
                OracleCommand cmd = con.CreateCommand();

                cmd.CommandText = "SELECT TO_CHAR(SYSDATE-2,'YYYYMMDD') AS DATASIST FROM DUAL";
                OracleDataReader reader3 = cmd.ExecuteReader();
                string datasist; // variável que receberá a data de ontem.
                reader3.Read();
                datasist = Convert.ToString(reader3["DATASIST"]);


                string nomeArquivo = "AAAA_bbb_CC" + datasist + ".csv";

                //método que faz o download do arquivo para C:\
                TransfereArquivoFtpLocal(nomeArquivo);


                cmd.CommandText = "INSERT INTO CARREGAEMA(DIA, ELEMENTO_DE_REDE, HORA, RETORNO_ID, QT_DE_COMANDO, COMANDO_DESC)\n";
                cmd.CommandText += "Values(?DIA, ?ElementoOriginador, ?Hora, ?CODRetorno, ?QtdeComando, ?Comando)";

                cmd.Parameters.Add(new OracleParameter("DIA", OracleDbType.Date));

                cmd.Parameters.Add(new OracleParameter("ElementoOriginador", OracleDbType.Varchar2, 200));

                cmd.Parameters.Add(new OracleParameter("Hora", OracleDbType.Int32));

                cmd.Parameters.Add(new OracleParameter("CODRetorno", OracleDbType.Int32));

                cmd.Parameters.Add(new OracleParameter("QtdeComando", OracleDbType.Int32));

                cmd.Parameters.Add(new OracleParameter("Comando", OracleDbType.Varchar2, 200));


                string strCaminho = "C:\\AAAA_bbb_CC" + datasist + ".csv";

                StreamReader sr = new StreamReader(strCaminho);

                string[] registro;

                string linha;

                while ((linha = sr.ReadLine()) != null)
                {

                    registro = linha.Split(';');



                    cmd.Parameters["DIA"].Value = registro[0];

                    cmd.Parameters["ElementoOriginador"].Value = registro[1];

                    cmd.Parameters["Hora"].Value = registro[2];

                    cmd.Parameters["CODRetorno"].Value = registro[3];

                    cmd.Parameters["QtdeComando"].Value = registro[4];

                    cmd.Parameters["Comando"].Value = registro[5];



                    cmd.CommandTimeout = 1000;

                    cmd.ExecuteNonQuery();

                }
            }
            catch (Exception ex)
            {
                this.SalvarArquivo(DateTime.Now.ToString("ddMMyyyy HHmmss.") + "erro", "Falha no programa principal." + ex.ToString());
            }
        }
Voltar ao Topo
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    Fórum DevMedia - Índice do Fórum -> .net - Outros assuntos Todos os horários são GMT - 3 Hours
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Permitido.
Responder Tópicos: Permitido.
Editar Mensagens: Proibído.
Excluir Mensagens: Proibído.
Votar em Enquetes: Proibído.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB