Anonim kullanıcı
Daha
ORA-01861: değişmez biçim dizesiyle eşleşmiyor
Bu parçacığı çalıştırmaya çalıştığımda:
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";
Anladım:
ORA-01861: literal does not match format string
Veritabanı bağlantısı ile ilgili bir sorun yok çünkü temel SQL komutlarını çalıştırabiliyorum.
Bu ifadeyle ilgili sorun nedir?
34
3
WHERE cümlesindeki TO_DATE ifadesini kaldırın
ve kodu şu şekilde değiştirin
Hata, bir tarih sütununun to_date dönüşümünden kaynaklanır.
Eklenen Açıklama: Oracle, alarm_datetime öğenizi nls'ye bağlı tarih biçimini kullanarak bir dizeye dönüştürür. Bundan sonra, sağladığınız tarih maskesi ile to_date'i çağırır. Bu istisnayı atar.
Bu hata, bir biçim dizesiyle birlikte bir değişmez girmeye çalıştığınız, ancak biçim dizesinin uzunluğunun değişmezle aynı uzunlukta olmadığı anlamına gelir.
Bu formatlardan biri yanlıştır: