PL / SQL конвертировать в JSON - PullRequest
0 голосов
/ 30 июня 2018

Я новичок в использовании PL / SQL (хотя раньше у меня был опыт работы с SQL). Я пытался преобразовать определенные данные в JSON. Я проводил исследования по всему Интернету, но не мог понять, что не так в моем коде. Это произвело ошибки типа «ORA-12801» На самом деле это большой набор данных, над которым я работаю. Я хотел бы использовать только курсорный цикл, поскольку он намного проще в использовании, чем использование других библиотек. Поэтому, не могли бы вы высказать свое мнение или подумать после просмотра кода? ** ОБНОВЛЕНИЕ: я использую Toad для Oracle для данных. ** ОБНОВЛЕНИЕ 2: Я уже изучил другую ссылку, и это не решило мою проблему, потому что я не хочу использовать другие библиотеки, такие как PL / JSON. Скорее, я хотел бы использовать простой оператор курсора в PL / SQL для преобразования столбцов таблицы только в JSON.

DECLARE 
  links varchar2(750);

  CURSOR statement
  IS
    SELECT DISTINCT NAME, GROUP
    FROM ST.PEOPLE
    GROUP BY ST.PEOPLE.NAME, ST.PEOPLE.GROUP
    ORDER BY ST.PEOPLE.NAME ASC;

BEGIN 
  FOR line IN statement
  LOOP
    links := '{"source":"'|| line.NAME ||'", "target":"'|| line.GROUP||'""}';
  END LOOP;

  dbms_output.put_line(links);

END; 

Сбой с:

ORA-12801: error signaled in parallel query server P045
ORA-12853: insufficient memory for PX buffers: current 16352K, max needed 702720K
ORA-04031: unable to allocate 65560 bytes of shared memory (“large pool”, “unknown object”, “large pool”, “PX msg pool”)
ORA-06512: at line 17

The error while running

1 Ответ

0 голосов
/ 12 июля 2018

Я решил свою проблему, используя одну из кнопок базы данных для включения вывода на «Выход СУБД» для выполнения кода, и это сработало.

...