![]() |
|
Модераторы: LSD |
![]()
|
|
| Plamenk |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 258 Регистрация: 18.2.2003 Репутация: нет Всего: 3 |
Всем Привет!
Наткнулся на очень странную ошибку, при преобразовании CLOB -> XMLType в Oracle9i. У меня есть ХП, куда передается CLOB, который преобразуется следующим кодом в XMLType
Это преобразование иногда работает нормально, а иногда вылетает (так происходит ошибка, когда XML больше 32KB). И что самое интересное - это лечится следующим кодом
Вопрос: Как решить эту проблему без использования преведенного выше кода? И из-за чего может возникать данная ошибка? Заранее Все БОЛЬШОЕ СПАСИБО! Это сообщение отредактировал(а) Plamenk - 4.7.2005, 11:11 |
||||
|
|||||
| VIAcom |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 2.5.2005 Где: г. Казань, Емноно вский Хутор. Репутация: нет Всего: нет |
Plamenk
О у меня была походу такая проблема но когда я читал из CLOB в файл. Собственно это связано с тем, что видимо нельзя обработать сразу весь LOB, а делать это надо по кусочкам не знаю чем вызвано ограничение именно в 1/2 сегмента - Length:=32767; не уверен, но надеюсь что поможет ... ... нет почти наверняка не поможет Это сообщение отредактировал(а) VIAcom - 4.7.2005, 16:28 |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 18 Всего: 538 |
Это скорее ограничение не 1/2 сегмента, а длинны VARCHAR2 в PL/SQL. Plamenk Я полагаю надо работать через DBMS_LOB.CREATETEMPORARY, хотелось бы посмотреть весь код процедуры. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Plamenk |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 258 Регистрация: 18.2.2003 Репутация: нет Всего: 3 |
Спасибо за ответы! Привожу полный текст процедуры:
В данном варианте она всегда нормально отрабатывает, но на мой взгляд должен быть более простой способ преобразования CLOB в XMLType:
|
|||
|
||||
| smolbars |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 13.10.2005 Репутация: нет Всего: нет |
А как победить подобную же проблему если использовать не dom а xsu и надо перегонять xml в файл
а то у меня строки километровые вот тут мой топик там описано в чем проблема В принципе (и без принципа тоже) это та же проблема что и у VIAcom Но что то по кускам у меня не получается - может за это время VIAcom нашел решение Я конечно написал альтернативный вариант на delphi но с клиентского мется меня как-то не плющит такое делать - просто время поджимало Может кто подскажет как обойти это ограничение 32767 |
|||
|
||||
| Кану |
|
|||
|
Unregistered |
Как вариант такой обход:
где ttt - понятно что, а ааа - clob храняший наши данные, но не желающий вернуть их целиком. "ааа" создавался так же, как и ttt с помощью createtemporary. Я интереса ради передал там 8 метров. В принципе все это дело работает, но вопрос - насколько нужен такой объем инфы... Для получения данных всетаки, больше подойдет считывание по кускам, если нет желания заставить комп подавиться обилием инфы. Пробуйте. |
|||
|
||||
![]()
|
| Правила форума "Oracle" | |
|
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Oracle | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |