Usuário anônimo
Mais
ORA-01861: literalmente não corresponde à cadeia de formato
Quando eu tento executar este corte:
cmd.CommandText = "SELECT alarm_id,definition_description,element_id,
TO_CHAR (alarm_datetime, 'YYYY-MM-DD HH24:MI:SS'),severity,
problem_text,status FROM aircom.alarms
WHERE status = 1 and
TO_DATE (alarm_datetime,'DD.MM.YYYY HH24:MI:SS') > TO_DATE ('07.09.2008
09:43:00', 'DD.MM.YYYY HH24:MI:SS')
order
by ALARM_DATETIME desc";
Eu entendo:
ORA-01861: literal does not match format string
Não há problema com a conexão com banco de dados porque eu posso executar comandos SQL básicos.
Qual é o problema com esta afirmação?
34
3
Remover a cláusula TO_DATE na cláusula WHERE
e altere o código para
O erro vem da conversão de uma coluna de data até_data.
Explicação adicional: Oracle converte a hora do seu alarme em uma string usando seu formato de data dependente de nls. Depois disso, ele chama para_data com a máscara de data fornecida. Isto lança a exceção.
O erro significa que você tentou entrar um literal com uma cadeia de formato, mas o comprimento da cadeia de formato não era o mesmo comprimento que o literal.
Um destes formatos está incorrecto: