powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Создание JSON в Oracle Database 11g
18 сообщений из 18, страница 1 из 1
Создание JSON в Oracle Database 11g
    #39846142
Никита А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. Требуется помощь в создании json-а на Oracle Database 11g.
Или нужно научится с нуля делать, или разобраться с готовой процедурой.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
  PROCEDURE json(p_period varchar2, p_modelid number) is
            
    v_res    system.json := system.json(); -- непонятный тип данных и присвоенное значение
    v_l1     system.json_list; -- ??
    v_o      system.json;
    
    v_clob   clob;
  begin
  
  v_l1 := system.json_list();
  
  for i in (какой-то запрос)loop
    v_o:=system.json(); 
    v_o.put('rn', i.rn); -- записываем в v_o, тут вроде ясно
    v_o.put('name', i.name);
    v_o.put('value', i.value);
    v_o.put('prc', i.prc*100);
    v_o.put('prc_lag', i.prc_lag*100);
            
    v_l1.append(v_o.to_json_value); -- тут тоже не ясно 
  end loop;
  
  v_res.put('r_ktg_fact',   v_l1.to_json_value);
  
  v_l1 := system.json_list();
  
  for i in (запрос) loop
    v_o:=system.json();
    v_o.put('name', i.name);
    v_o.put('value', i.value);
    
    v_l1.append(v_o.to_json_value);
  end loop;
  
  v_res.put('r_ktg_plan',   v_l1.to_json_value);
  
  ------------------------------------------------  
  
  dbms_lob.createtemporary(v_clob, true); -- ??
  v_res.to_clob(v_clob, true);                    -- ??
  base.htpclob(v_clob);                             -- ??
    
  end;



Как понять типы дынных: system.json и system.json_list
Присвоение значение в виде функции: system.json() и system.json_list()
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39846145
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никита АКак понять типы дынныхПосмотреть их ddl.
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39846209
Никита А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-Посмотреть их ddl.

А можно подробнее пожалуйста.
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39846326
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никита А,

Попробуй расспросить того, кто додумался залить pljson в схему пользователя system.
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39847275
Никита А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В схеме system, в папкe types, нашёл тe самые json типы, буду дальше разбираться.
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39848448
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никита АТребуется помощь в создании json-а на Oracle Database 11g .
Почему бы не использовать Oracle Database 12с , где JSON уже есть?
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39848454
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*PlusНикита АТребуется помощь в создании json-а на Oracle Database 11g .
Почему бы не использовать Oracle Database 12с , где JSON уже есть?
Во-первых, потому что не любой 12с, но только 12.2
Во-вторых, потому что первая реализация новофичи у оракеля традиционно баговая на весь процессор - Vint не даст соврать :)
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39848466
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousSQL*Plusпропущено...

Почему бы не использовать Oracle Database 12с , где JSON уже есть?
Во-первых, потому что не любой 12с, но только 12.2
Неправда ваша. JSON появился в 12.1.0.2 (August 2015)
https://docs.oracle.com/database/121/NEWFT/title.htm
Oracle® Database.
New Features Guide
12c Release 1 (12.1)
E49322-11
August 2015
1 Oracle Database 12c Release 1 (12.1.0.2) New Features1.9 JSON Support

andrey_anonymousВо-вторых, потому что первая реализация новофичи у оракеля традиционно баговая на весь процессор - Vint не даст соврать :)Конечно не 12.2.0.1 должна лучше работать с JSON.
А терминальный релиз 12.2.0.3 (19с) ещё надежнее...

А привинчивание непонятно чего к базе 11g - это хорошее сертифицированное решение!? :-)
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39848470
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*PlusА привинчивание непонятно чего к базе 11g - это хорошее сертифицированное решение!? :-)

Для тех, кто не хочет тратить денег на апгрейд - вполне решение.

Есть еще Oracle 18 XE.
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39848498
IMNO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

У меня вопрос.
Если делать разработку на 11g, но версию ставить на продакшен версии 12, то не будет конфликта в ключевых словах между pljson и стандартным оракловым API на 12 версии?
В pljson создаются объекты типа JSON, очень смахивает на ключевое слово.
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39848507
IMNO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и вопрос вдогонку.
Если вставлять русские буквы, то в JSONе оно их преобразует в коды UTF8.

"Ш\u043B\u044E\u043F\u043Aа"

Что-то в исходниках я не могу найти, где задаётся кодировка.
Кто нибудь сталкивался и знает как это исправить?
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39848516
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*PlusА привинчивание непонятно чего к базе 11g - это хорошее сертифицированное решение!? Это просто решение. То, чем занимаются все разработчики plsql. При наличии исходников сопровождаемо и самоподдерживаемо.
JSON в оракле сырой не только из-за многочисленных багов, но и из-за непродуманного функционала.
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39848668
Lary Denis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*Plus Почему бы не использовать Oracle Database 12с, где JSON уже есть?

Интересно, как это будет выглядеть?

Есть рабочая продуктивная OLTP база, развернутая на Oracle 11g. И тут понадобилось для какой-нибудь интеграции данные отдавать в формате JSON. "SQL*Plus" экстренно собирает всю команду и тревожным голосом говорит, что нужен апгрейд до 12с..
Когда команда отвергает такое предложение, то он мужественно поднимает "рядом" 12с, пишет там процедуру, и on-line из 11 вызывает 12-ку для получения своего злополучного JSON
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39848713
IMNO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отвечаю на свои же вопросы, если кому нужно будет.

1. Чтобы поменять кодировку нужно в спецификации пакета pljson_printer присвоить переменной ascii_output значение fasle, по умолчанию true.

2. Поставил либу на оракл 12.1.0.2. Либа встала без ошибок. Попробовал собрать JSON. Вроде работает. JSON собирает. Ошибок нет.
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39848718
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lary Denisон мужественно поднимает "рядом" 12с, пишет там процедуру, и on-line из 11 вызывает 12-ку для получения своего злополучного JSON

Если отбросить ненужный сарказм, вполне себе решение.
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39848728
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdm,

Надеюсь, это был ненужный сарказм?
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39848879
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lary DenisSQL*Plus Почему бы не использовать Oracle Database 12с, где JSON уже есть?Интересно, как это будет выглядеть?

Есть рабочая продуктивная OLTP база, развернутая на Oracle 11g.
И тут понадобилось для какой-нибудь интеграции данные отдавать в формате JSON.Убедительное разъяснение.
Спасибо!
...
Рейтинг: 0 / 0
Создание JSON в Oracle Database 11g
    #39848882
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Lary DenisЕсть рабочая продуктивная OLTP база, развернутая на Oracle 11g.Lary Denisговорит, что нужен апгрейд до 12с..вообще-то давно пора бы.

Lary Denisкоманда отвергает такое предложениену и команда...
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Создание JSON в Oracle Database 11g
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]