У меня проблема с 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);
.Я игнорировал этот код раньше, потому что видел комментарий и знал, что моя строка не равна нулю.Так зачем это чтение?Это ошибка?