Oracle 12c PL / JSON, отсекающий строки по 5000 символов - PullRequest
0 голосов
/ 18 сентября 2018

У меня проблема с PL / JSON , отсекающими строковые значения ровно на 5000 символов.

Пример данных: {"n1":"v1","n2":"v2","n3":"10017325060844,10017325060845,... this goes on for a total of 32,429 characters ...10017325060846,10017325060847"}

После того, как я преобразовалСтрока JSON для объекта, который я запускаю ...

dbms_output.put_line(json_obj.get('n3').get_string);

И выводит только первые 5000 символов.Поэтому я немного покопался, см. Строку 26 этого кода .И прямо под ним в строке 31 устанавливается extended_str и содержит все 32 429 символов.Итак, теперь давайте перейдем к функции-члену get_string().Есть два из них.Я убедился, что вызывается первый, с параметрами max_byte_size и max_char_size.Оба эти параметра являются нулевыми.Так почему же мой текст обрезается на 5000 символов?Мне это нужно для работы со строками данных varchar2(32767) и clobs.Спасибо!

Версия: Oracle Database 12c Enterprise Edition, выпуск 12.1.0.2.0 - 64-разрядная версия

ОБНОВЛЕНИЕ: Я обнаружил, что фрагмент текста исходит от строка 35 : dbms_lob.read(str, amount, 1, self.str);.Я игнорировал этот код раньше, потому что видел комментарий и знал, что моя строка не равна нулю.Так зачем это чтение?Это ошибка?

1 Ответ

0 голосов
/ 18 сентября 2018

Как сопровождающий проекта pljson, я ответил на ваш вопрос на github (https://github.com/pljson/pljson/issues/154).. По любым другим вопросам не стесняйтесь задавать в той же ветке вопросов на github.

...