Fórum Carregando dados csv em banco oracle #19390
16/09/2008
0
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.
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.
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());
}
}Anonymous
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)