Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 ORA-01483: invalid length for DATE or NUMBER bind variable  [new]
kbowner
Member

Откуда:
Сообщений: 29
Коллеги, у меня возникла проблема с Oracle 9.0.5 и jdbc.

Есть таблица содержащая поле CLOB (а так же LONG, varchar, int, date)
Если при апдейте записи новое значение поля CLOB содержит немного данных (10, 20, 100 символов...) – все проходит замечательно.
Если же новое значение содержит много символов (в моем случае около 3000) – получаю эксепшен:
ORA-01483: invalid length for DATE or NUMBER bind variable

Значение CLOB устанавливаю с помощью setCharacterStream

Не понимаю от чего эта ошибка возникает и какое она вообще отношение имеет к CLOB.
Спасибо.
23 окт 06, 16:29    [3297409]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01483: invalid length for DATE or NUMBER bind variable  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18337
kbowner
Если при апдейте записи новое значение поля CLOB содержит немного данных (10, 20, 100 символов...) – все проходит замечательно.
Если же новое значение содержит много символов (в моем случае около 3000) – получаю эксепшен:

Ищите по форуму.
Суть в том, что Вам надо вставлять empty_clob и возвращать локатор, которым в свою очередь пользоваться для piece-wise
23 окт 06, 17:42    [3298013]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01483: invalid length for DATE or NUMBER bind variable  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18337
... операций записи clob.
23 окт 06, 17:43    [3298017]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01483: invalid length for DATE or NUMBER bind variable  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
andrey_anonymous
kbowner
Если при апдейте записи новое значение поля CLOB содержит немного данных (10, 20, 100 символов...) – все проходит замечательно.
Если же новое значение содержит много символов (в моем случае около 3000) – получаю эксепшен:

Ищите по форуму.
Суть в том, что Вам надо вставлять empty_clob и возвращать локатор, которым в свою очередь пользоваться для piece-wise
Тут есть два момента..
Во-первых (бред конечно, но бывает) .lob not null
Во-вторых вставлять пустышку и дописавать в базе = активировать апдейтовые триггеры, где логически один инсерт.
Т.е. лоб лучше сначала сформировать (напр. как пакетную переменную), а потом уже (враз) инсертить
23 окт 06, 18:27    [3298241]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01483: invalid length for DATE or NUMBER bind variable  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18337
orawish
Во-первых (бред конечно, но бывает) .lob not null
empty_clob - НЕ null.
orawish
Во-вторых вставлять пустышку и дописавать в базе = активировать апдейтовые триггеры, где логически один инсерт.

???????
Не дописывать в базе, а получить локатор на свежесозданную строку и воспользоваться им для piece-wise операций (writeappend).
Какие триггера?!
23 окт 06, 18:31    [3298265]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить