Интеграция PL / JSON с Oracle APEX 4.0 - PullRequest
1 голос
/ 29 августа 2010

Я пытаюсь использовать PL / JSON в своем приложении Oracle APEX, но получаю следующие ошибки при попытке запустить Hello, world пример (который отлично работает, когда я запускаю пример из SQL * PLUS как sys):

ORA-06550: line 2, column 20:
PLS-00905: object MY_SCHEMA.JSON is invalid
ORA-06550: line 2, column 20:
PL/SQL: Item ignored
ORA-06550: line 5, column 5:
PLS-00320: the declaration of the type of this expression is incomplete or malformed
ORA-06550: line 5, column 5:
PL/SQL: Statement ignored
ORA-06550: line 7, column 26:
PLS-00201: identifier 'JSON_EXT.GET_VARCHAR2' must be declared
ORA-06550: line 7, column 5:
PL/SQL: Statement ignored

Используемая мной версия базы данных Oracle - 10g XE.

Я предполагаю, что я не предоставил правильно права на выполнение для пакетов: JSON_EXT, JSON_PRINTER и JSON_PARSER. Я попытался предоставить привилегии исполнения для 3-х пакетов для public и APEX_PUBLIC_USER, но безрезультатно. Я был бы очень признателен, если бы кто-то указал мне правильное направление. Я искал в Google несколько часов, но мне еще не приходило сообщение / страница, которая отвечает на мою проблему или помогает объяснить, что не так и как я могу решить свою проблему.

Заранее спасибо!

1 Ответ

0 голосов
/ 30 августа 2010

Если вы выполняете DESC JSON_EXT, функция GET_VARCHAR2 отсутствует (по крайней мере, в версии 0.9.2).Есть функция GET_STRING, которая возвращает VARCHAR2.

Страница, на которую вы ссылаетесь, использует PL / JSON версии 0.8.6, и похоже, что они сделали некоторые большие изменения в 0.9

  Version: 0.9.0
WARNING: You cannot do an easy upgrade because of changes in the API
    Rewrote the API to increase speed and simplicity

Попробуйте примеры из последней версии пакета.

...