Amigos,
estou desenvolvendo um script que carrega em uma tabela do banco dados de um arquivo csv, conforme código abaixo.
o programa está compilando, mas na hora da execução aparece um erro de código ORA-00911 dizendo que existe um caracter invalido na parte da query (ao que tudo indica). alguém poderia me ajudar a identificar este erro. já tetei de tudo e não obtive exito.
[codebox]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());
}
}[/codebox]
tem gerado o seguinte erro:
Oracle.DataAccess.Client.OracleException was unhandled
Message="ORA-00911: invalid character"
Source="Oracle Data Provider for .NET"
DataSource="XXXXXXXXXXXXXXXXXXXXXXXX"
Number=911
Procedure=""
StackTrace:
at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure)
at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src)
at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()
at carrega_EMA.Form1.button1_Click(Object sender, EventArgs e) in C:\Documents and Settings\XXXXXXXX\My Documents\Visual Studio 2005\Projects\carrega_EMA_Application\carrega_EMA\Form1.cs:line 98
A coluna COMANDO_DESC possui os caracteres *, <, > : no meio do texto.
E as colunas HORA, RETORNO_ID e QT_DE_COMANDO no banco são do tipo number e os parâmetros eu declarei como int32, pois não encontrei number no OracleParameter.OracleDbType.
Será que essas coisas podem influenciar?
- Fórum WMO
- → Viewing Profile: Tópicos: costeleta
Community Stats
- Group Usuários
- Active Posts 7
- Profile Views 1613
- Member Title Novato no fórum
- Age Age Unknown
- Birthday Birthday Unknown
-
Sexo
Não informado
0
Neutral
User Tools
Friends
costeleta hasn't added any friends yet.
Latest Visitors
Topics I've Started
Carregando Dados Csv Em Banco Oracle
16/09/2008, 15:46
Manipulando Arquuivos
02/09/2008, 15:23
Amigos,
Estou com um problema em meu programa que faz FTP de diários e automáticamanete. quando ele roda e o arquivo ainda não está disponivel ele faz o FTP de um arquivo sem conteúdo e com o mesmo nome do arquivo que desejo. para resolver isto pensei em incluir no meu script, antes de fazer o FTP uma consulta no diretório para ver se o arquivo se encontra disponível. descobri que posso fazer isto usando a classe System.IO.DirectoryInfo. Estou no caminho certo ou existe uma outra forma mais eficiente? Como farei para consultar este diretório que só é permitido acessá-lo via FTP e logando-o? alguem tem algum exemplo que acessa o endereço de origem do arquivo com usuario e senha?
Estou com um problema em meu programa que faz FTP de diários e automáticamanete. quando ele roda e o arquivo ainda não está disponivel ele faz o FTP de um arquivo sem conteúdo e com o mesmo nome do arquivo que desejo. para resolver isto pensei em incluir no meu script, antes de fazer o FTP uma consulta no diretório para ver se o arquivo se encontra disponível. descobri que posso fazer isto usando a classe System.IO.DirectoryInfo. Estou no caminho certo ou existe uma outra forma mais eficiente? Como farei para consultar este diretório que só é permitido acessá-lo via FTP e logando-o? alguem tem algum exemplo que acessa o endereço de origem do arquivo com usuario e senha?
Importar Arquivo Excel Em Um Banco Oracle
25/08/2008, 16:52
Amigos,
Preciso criar uma aplicação que importe dados de um arquivo Excel para uma tabela de um banco de dados Oracle. esta aplicação deverá rodar automaticamente todos os dias.
A minha idéia é criar em C# um serviço do windows que executaría este processo, no entanto não sei como fazer esta importação.
Alguém podería me ajudar?
Preciso criar uma aplicação que importe dados de um arquivo Excel para uma tabela de um banco de dados Oracle. esta aplicação deverá rodar automaticamente todos os dias.
A minha idéia é criar em C# um serviço do windows que executaría este processo, no entanto não sei como fazer esta importação.
Alguém podería me ajudar?
E-mail No Formato Html
17/07/2008, 14:46
Amigos estou com um probleminha
Criei um serviço que envia e-mails automático no formato HTML, mas na hora que os clientes dão um Forward (Outlook) as tabelas que fazem parte da mensagem saem completamente distorcidas e o conteúdo pode ser alterado.
Existe uma forma mudar isto ?
Não sei transformando minha mensagem do formato html para um formato de imagem onde ele mostre o conteudo perfeitamente e sem possibilidade de alteração ?
Criei um serviço que envia e-mails automático no formato HTML, mas na hora que os clientes dão um Forward (Outlook) as tabelas que fazem parte da mensagem saem completamente distorcidas e o conteúdo pode ser alterado.
Existe uma forma mudar isto ?
Não sei transformando minha mensagem do formato html para um formato de imagem onde ele mostre o conteudo perfeitamente e sem possibilidade de alteração ?
Template Windows Service
04/06/2008, 16:02
Olá amigo,
Estou utilizando o Visual C# 2005 Express Edition, mas nele não veio o template para criação de windows service. Alguém podería me ajudar dizendo onde consigo baixá-lo?
Estou utilizando o Visual C# 2005 Express Edition, mas nele não veio o template para criação de windows service. Alguém podería me ajudar dizendo onde consigo baixá-lo?
- Fórum WMO
- → Viewing Profile: Tópicos: costeleta
- Privacy Policy
- Regras ·