ORA-01861: literal does not match format string |; Oracle Community

need immediate help.

Hi.i am trying to insert a particular col a_1 from table a to col b_1 of table b.

I am currently using oracle 10g.

The length and datatype of col a_1 is varchar2(5)

The length and datatype of col b_1 is date.

When i am trying to insert

insert into b(b_1) values(to_date(a_1,’dd-mon’)

i get an error
ORA-01861: literal does not match format string
01861. 00000 — «literal does not match format string»
*Cause: Literals in the input must be the same length as literals in
the format string (with the exception of leading whitespace). If the
«FX» modifier has been toggled on, the literal must match exactly,
with no extra whitespace.
*Action: Correct the format string to match the literal.

How do i go about it.

  • 60983 Просмотров
  • Метки: нет (добавить) 10g
1. Re: ORA-01861: literal does not match format string

Can you give us some sample values from column a_1.

With the present info, you have missed the year format in to_date convertion.

use
Regards,
Prazy

  • Мне нравится Показать отметки «Мне нравится» (0) (0)
  • Действия
2. Re: ORA-01861: literal does not match format string

  • Мне нравится Показать отметки «Мне нравится» (0) (0)
  • Действия
3. Re: ORA-01861: literal does not match format string

try and identify the columns, which have a space or are of a greater length or do not have a dash
then either correct the data, or modify your sql so that you accomodate multiple formats!

  • Мне нравится Показать отметки «Мне нравится» (0) (0)
  • Действия
4. Re: ORA-01861: literal does not match format string

it contains data

  • Мне нравится Показать отметки «Мне нравится» (0) (0)
  • Действия
5. Re: ORA-01861: literal does not match format string

user8731258 wrote:
it contains data

  • Мне нравится Показать отметки «Мне нравится» (0) (0)
  • Действия
6. Re: ORA-01861: literal does not match format string

user8731258 wrote:
it contains data

Not always, apparantly.
If even one row in the table has text that doesn’t match the format, you’ll get that error. Correct (or remove) all the bad data.

To find the rows with bad data, do something like Bluefrog suggested, or this: using the following function: If your data is a 5-character string, such as ’25oct’, why are you trying to convert it using a 6-character format, ‘dd-mon’?
If the 2nd argument to TO_DATE says there will be a hyphen (‘-‘), but there actually isn’t one, that’s does not raise an error, so I left the hyphen in the 2nd argument, just in case you do want to have strings like ‘3-Mar’, but you should be consistent.

  • Мне нравится Показать отметки «Мне нравится» (0) (0)
  • Действия
7. Re: ORA-01861: literal does not match format string

Just use to_date(a_1,’ddmon’) provied entire data in the column with the same format like 25oct

Непонятная обработка типа данных

Еще раз здравствуйте.

Ситуация следующая. Выполняю SQL запрос:

То данные 2008го года отбираются.

Что такое с Oracle творится? или скорее я что-то не так творю?

04.07.2011, 15:35

Обработка данных типа запись (комбинированный тип данных).
Вывести ФИО и отметки по физике студентов, имеющих средний балл, больше 4,5. Помоги.

Обработка данных типа запись
Составить программу для решения задачи. Написать программу для ввода списка студентов группы из 25.

7. Обработка данных типа множество
Составить программу для решения задачи. Определить, какие из чисел, введенных с клавиатуры не.

Обработка данных перечисляемого типа
Помогите ,пожалуйста. Требуется: разработать и отладить программу, в которой описана рассмотренная.

04.07.2011, 15:43 2 17.08.2011, 10:57 [ТС] 3

Доброго утра!
Поднимаю тему, так как проявились нюансы)

В базе дата хранится в основном в виде dd.mm.yyyy тогда пишу так

Если же дата содержит время 02.02.2011 15:20 то мое условие отваливается, а мне нужно чтоб срабатывало.. Как лучше это сделать? Получать значение преобразовать к строке и если больше 10 символов то обрезать хвост или как?

Добавлено через 28 минут
Вот если на входе у меня дата без времени 02.02.2011 то могу писать так:

у меня не работает! вот почему второй вариант не сработал? в базе хранится 02.02.2011 15:23

17.08.2011, 12:17 4
Oracle 11 SQL
17.08.2011, 15:17 [ТС] 5
17.08.2011, 15:51 6
18.08.2011, 13:37 [ТС] 7
18.08.2011, 14:02 8
Oracle 11 SQL
18.08.2011, 15:53 [ТС] 9

у меня ругается) мне нужно чтобы моя гуиподелка работала)

тип поля DATE а содержимое показал уже трижды)

18.08.2011, 16:07 10
Oracle 11 SQL
18.08.2011, 16:12 [ТС] 11
18.08.2011, 16:20 12
Oracle 11 SQL
18.08.2011, 16:37 13

NETClient, хорошая идея. Я добавил в твой запрос to_char(sysdate) и поэкспериментировал с добавлением форматов в функции to_date и to_char. Результат такой: to_char показывает адекватные данные, а вот to_date с форматом не дружит и показывает пустое значение. Видимо, Oracle не предусматривает прямое преобразование из даты в дату с использованием формата, хотя просто to_date дает, собственно говоря, дату (день, месяц и год).

СyberSpec, надо, видимо, для твоей задачи брать либо to_char с ограниченными возможностями сравнения, либо to_date(to_char(с форматом)).

ORA_EXCEL

API Oracle PL/SQL to Excel XSLX Самый мощный PL/SQL Excel API в мире.

Код ошибки базы данных Oracle ORA-01861 Описание

База данных: 10g Выпуск 1
Код ошибки: ORA-01861
Описание: литерал не соответствует формату строки
Причина: Литералы во входных данных должны иметь ту же длину, что и литералы в строке формата (за исключением начальных пробелов). Если модификатор «FX» был включен, литерал должен точно совпадать, без лишних пробелов.
Действие: Исправьте строку формата в соответствии с литералом.

База данных: 10g Выпуск 1
Код ошибки: ORA-01861
Описание: literal does not match format string
Причина: Literals in the input must be the same length as literals in the format string (with the exception of leading whitespace). If the «FX» modifier has been toggled on, the literal must match exactly, with no extra whitespace.
Действие: Correct the format string to match the literal.

База данных: 10g Выпуск 2
Код ошибки: ORA-01861
Описание: литерал не соответствует формату строки
Причина: Литералы во входных данных должны иметь ту же длину, что и литералы в строке формата (за исключением начальных пробелов). Если модификатор «FX» был включен, литерал должен точно совпадать, без лишних пробелов.
Действие: Исправьте строку формата в соответствии с литералом.

База данных: 11g Выпуск 1
Код ошибки: ORA-01861
Описание: литерал не соответствует формату строки
Причина: Литералы во входных данных должны иметь ту же длину, что и литералы в строке формата (за исключением начальных пробелов). Если модификатор «FX» был включен, литерал должен точно совпадать, без лишних пробелов.
Действие: Исправьте строку формата в соответствии с литералом.

База данных: 11g Выпуск 2
Код ошибки: ORA-01861
Описание: литерал не соответствует формату строки
Причина: Литералы во входных данных должны иметь ту же длину, что и литералы в строке формата (за исключением начальных пробелов). Если модификатор «FX» был включен, литерал должен точно совпадать, без лишних пробелов.
Действие: Исправьте строку формата в соответствии с литералом.

База данных: 12c Выпуск 1
Код ошибки: ORA-01861
Описание: литерал не соответствует формату строки
Причина: Литералы во входных данных должны иметь ту же длину, что и литералы в строке формата (за исключением начальных пробелов). Если модификатор «FX» был включен, литерал должен точно совпадать, без лишних пробелов.
Действие: Исправьте строку формата в соответствии с литералом.

База данных: 12c Выпуск 2
Код ошибки: ORA-01861
Описание: литерал не соответствует формату строки
Причина: Литералы во входных данных должны иметь ту же длину, что и литералы в строке формата (за исключением начальных пробелов). Если модификатор «FX» был включен, литерал должен точно совпадать, без лишних пробелов.
Действие: Исправьте строку формата в соответствии с литералом.

База данных: 18c Выпуск 1
Код ошибки: ORA-01861
Описание: литерал не соответствует формату строки
Причина: Литералы во входных данных должны иметь ту же длину, что и литералы в строке формата (за исключением начальных пробелов). Если модификатор «FX» был включен, литерал должен точно совпадать, без лишних пробелов.
Действие: Исправьте строку формата в соответствии с литералом.

База данных: 18c Выпуск 1
Код ошибки: ORA-01861
Описание: литерал не соответствует формату строки
Причина: Литералы во входных данных должны иметь ту же длину, что и литералы в строке формата (за исключением начальных пробелов). Если модификатор «FX» был включен, литерал должен точно совпадать, без лишних пробелов.
Действие: Исправьте строку формата в соответствии с литералом.

База данных: 19c Выпуск 1
Код ошибки: ORA-01861
Описание: литерал не соответствует формату строки
Причина: Литералы во входных данных должны иметь ту же длину, что и литералы в строке формата (за исключением начальных пробелов). Если модификатор «FX» был включен, литерал должен точно совпадать, без лишних пробелов.
Действие: Исправьте строку формата в соответствии с литералом.

База данных: 19c Выпуск 1
Код ошибки: ORA-01861
Описание: литерал не соответствует формату строки
Причина: Литералы во входных данных должны иметь ту же длину, что и литералы в строке формата (за исключением начальных пробелов). Если модификатор «FX» был включен, литерал должен точно совпадать, без лишних пробелов.
Действие: Исправьте строку формата в соответствии с литералом.

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

  • Qlik Community
  • :
  • Qlik Data Analytics Forums
  • :
  • QlikView
  • :
  • QlikView Scripting
  • :
  • ORA-01861: literal does not match format string
  • Subscribe to RSS Feed
  • Mark Topic as New
  • Mark Topic as Read
  • Float this Topic for Current User
  • Bookmark
  • Subscribe
  • Mute
  • Printer Friendly Page
  • All forum topics
  • Previous Topic
  • Next Topic
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

I am getting error literal does not match format string while executing the below script. I am getting the data from oracle database.

If QVD not exists, it will run without any issue. but for incremental loading i am facing the above issue.

I am using vIncrementalExpression variable to filter for latest records.

LET vQvdExists = if(FileSize(‘$(vQvdFile)’) > 0, -1, 0);

IF $(vQvdExists) THEN

LOAD max(TransactionDate) as maxdate

FROM $(vQvdFile) (qvd);

LET vMaxdate = Date(Peek(‘maxdate’,0,’maxdateTab’),’YYYY-MM-DD’);

LET vLast30Days = Date(Peek(‘maxdate’,0,’maxdateTab’)-30,’YYYY-MM-DD’);

IF IsNull(vMaxdate) then

LET vIncrementalExpression = ‘and TransactionDate >= ‘&Chr(39)& ‘$(vLast30Days)’ &Chr(39)&

‘ and TransactionDate = extract(YEAR from sysdate)-3’;

floor(TRANSACTIONDATE) as TransactionDate,

Where TRANSACTIONDATE > ’01-Jan-14′

$(vIncrementalExpression) ; // Include WHERE clause created in «Incremental Setup» tab

IF $(vQvdExists) THEN

// Use CONCATENATE in case we’ve added any new fields.

CONCATENATE ($(vTableName)) LOAD Distinct * FROM $(vQvdFile) (qvd)

  • « Previous Replies
    • 1
    • 2
  • Next Replies »
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

I got the solution. Actually it is issue with formatting the date. In the where clause it was reading the date as YYYY-MM-DD instead DD-MMM-YY. SO i changed the date format for vLast30day and vReloadTime and finally it is working fine.

here is the update variable expression.

LET vIncrementalExpression = ‘Where CUSTOMERCODE not in (»A»,»B»,»C») and InvoiceDate >=’ & Chr(39)& ‘$(vLast30date)’ &Chr(39) &

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

May be check this in Debug option rather full download and highlight that line to troubleshoot. That may help to get into work

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

I think there are some mistakes in SQL statement ( $(vIncrementalExpression))

Please run in debug mode or check log script, you can see more detail about SQL statement

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Hi, This is what i see in the debugger.

ScriptErrorDetails «SQL##f — SqlState: S1000, ErrorCode: 1861, ErrorMsg: [Oracle][ODBC][Ora]ORA-01861: literal does not match format string «

ScriptErrorList General Error

ScriptError General Error

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

I am not able to find any error in the log file.

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

you can using TRACE for output SQL statement ,copy result and run in Oracle Environment

TRACE SQL TRANSACTIONDATE, FROM APPS.XXEGC_QV_SALES_PIPELINE_V Where TRANSACTIONDATE > ’01-Jan-14’$(vIncrementalExpression) ;

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

I’d suggest looking at your vLast30Days variable. Is this being set up correctly? What value does it contain following the LET statement?

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Could be issue here?

Date(TRANSACTIONDATE,’Your Format’) as TransactionDate;

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

That particular Oracle SQL message usually indicates you’ve attempted to format something as a date that Oracle can’t format as a date. Double-check that the formatted dates you are sending the SQL via variables are formatted in the way Oracle expects them, either by replacing the dynamic date ranges with manual date inputs in the same format, or by loading the dynamic values into your regular script and checking the format.

Некоторые ошибки и их устранение

SP2-1503/SP2-0152

Windows Server 2003 R2 с установленным на нём Oracle Client 10.2.0.4.
При запуске sqlplus от имени пользователя с администраторскими полномочиями коннект осуществляется без проблем. Но при попытке подключиться к базе от имени пользователя без администраторских полномочий появляется ошибка:

Вызвано это невозможностью создать global object пользователем без администраторских полномочий. Я решил проблему так:

Результат — ошибок нет, пользователь счастлив и может работать.

ORA-28759: сбой при открытии файла

При выполнении обращения из БД (под Windows) к серверу с поддержкой SSL (по HTTPS) появилась ошибка:

Суть проблемы в том, что Oracle Wallet Manager (OWM) при редактировании wallets меняет разрешения на доступ к файлу. В результате файл становится доступным только пользователю, от которого был запущен OWM.

Решение:
Измените разрешения на доступ к файлу так, чтобы пользователь, от которого работает Oracle DB, имел доступ хотя бы на чтение.

ORA-12154: TNS:could not resolve the connect identifier specified

PL/SQL Developer и Windows x64.

sqlplus

При попытке подключиться с помощью sqlplus, используя Easy Connect, тоже можно получить ошибку:

Для решения убедитесь, что » $ORACLE_HOME/network/admin/sqlnet.ora » или вообще не содержит параметра » NAMES.DIRECTORY_PATH «, или данный параметр имеет одним из значений (или единственным значением) » EZCONNECT «:

Ошибка компиляции при установке Oracle Client

Первоначально пробуем выполнить:

Для Ubuntu 14.04 вероятно придётся пересоздать symlink:

и создать новый:

и снова пробуем выполнить:

SQL Developer, Oracle XE и ORA-12705 в Linux

При попытке настроить Jasper Reports Integration столкнулся с этой же ошибкой при настройке соединения Tomcat. Решается путём создания » $CATALINA_BASE/bin/setenv.sh » с добавлением в него следующих параметров запуска Java:

У меня содержимое файла выглядит так:

Проблемы с external job (sjsec 6a)

В какой-то момент стал получать ошибку:

Это происходило в Oracle, установленном на сервер под управлением Windows.
Решение — убедитесь и при необходимости запустите сервис OracleJobScheduler .
Где SID — SID вашего экземпляра БД.

ORA-01075 you are currently logged on

Нашёл решение здесь, но решил у себя продублировать. Итак, если при подключении к БД получаем что-то типа:

нужно выполнить следующие шаги:

SQLDeveloper из Oracle 11g (64 bit) на Windows (64 bit)

При запуске sqldeveloper, который идёт в комплекте с Oracle 11G (11.2.0.4.0, 64bit) и установлен на Windows Server 2008 R2 (64 bit), получаем окно, в котором нас просят указать путь к java.exe. Однако, при указании пути к java, которая идёт вместе с Oracle или же к другой java 64 bit, ничего не происходит, кроме того, что снова появляется это же окно.
Если же пытаемся запустить » %ORACLE_HOME%sqldevelopersqldeveloperbinsqldeveloper «, то при указании пути к java получаем сообщение:

Как ни парадоксально, но это решается установкой java 32-bit и добавлением в файл » %ORACLE_HOME%sqldevelopersqldeveloperbinsqldeveloper.conf » строки, в которой с помощью SetJavaHome задан JAVA_HOME (путь к java), например так:

ORA-00845: MEMORY_TARGET not supported on this system

На Windows я с такой ошибкой пока не встречался, а на linux решение простое:

Где:
size — размер больше или равен объёму выделяемой для всех экземпляров Oracle памяти. В нашем случае он равен 12Gb (size=12g).

должны получить что-то похожее на следующее:

ORA-12034: materialized view log on «SCHEMA».»MVIEW» younger than last refresh

Можно смотреть ноту 204127.1 на Metlink.
В некоторых случаях помогает:

Проблемы при повторной конфигурации Oracle XE.

Один из вариантов повторной конфигурации Oracle XE заключается в удалении » /etc/sysconfig/oracle-xe » (для Red Hat) и выполнении » /etc/init.d/oracle-xe configure «. Однако, если у вас имеется созданное вами табличное пространство в указанном вами файле данных, выполните обязательно бэкап этого табличного пространства. Указанный скрипт выполнит пересоздание DBID для известных ему файлов данных, но не тронет те, что вы создали. Таким образом, после старта системы вы не сможете ни получить доступ к вашим файлам, ни подключить их к БД, т.к. в них прописаны старые DBID. Будьте внимательнее.

ORA-01704: string literal too long

При работе с Oracle через JDBC, столкнулся с проблемой в виде ошибки «ORA-01704: string literal too long». Оказывается, в некоторых случаях (JDBC — один из них) нельзя просто взять и вставить строку длиной больше 4000 символов в поле таблицы. Даже если это поле типа CLOB. Т.е. не прокатывает строка вида:

Пересоздание сессии в удалённой БД (dblink)

Разработчики стали жаловаться, что, при обращении к объекту, размещённому в удалённой БД, через database link, появляется следующая ошибка:

В результате, на требуемом нам сервере будет создана новая сессия. Проблема была решена. Такой вот lifehack.

К сожалению, воспроизвести ситуацию уже невозможно, но, вероятно, могла помочь и следующая последовательность действий:

Certificate of the remote server does not match the target address.

Эта заметка относится к Oracle Database 12.2.
В wallet-файле есть необходимый сертификат, но при обращении к ресурсу получаем ошибку:

» habrahabr.ru » и есть то значение, которое необходимо подставить:

Ещё один широко известный в узких кругах ресурс:

ORA-27369: job of type EXECUTABLE failed with exit code: 274662

Если при выполнении shell-скрипта, вызываемого посредством scheduler job’а с типом «external», вы получаете » ORA-27369: job of type EXECUTABLE failed with exit code: 274662 «, проверьте » $ORACLE_HOME/rdbms/admin/externaljob.ora «. Параметры run_user и run_group должны соответствовать пользователю и группе от чьего имени запущен oracle.

ORA-00392: log 1 of thread 1 is being cleared, operation not allowed

При открытии БД с resetlogs получаем ошибку:

Вероятно, первая команда » alter database open resetlogs » завершилась неудачно и в control-файле redo остались в статусе CLEARING/CLEARING_CURRENT:

Можно попробовать использовать следующие команды:

а затем уже повторить:

На metalink есть документ (Doc ID 1352133.1)

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector