powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Вызов хранимой процедуры через AJAX - баг?
3 сообщений из 3, страница 1 из 1
Вызов хранимой процедуры через AJAX - баг?
    #38284491
Фотография ХБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Речь идет о вызове типа

Код: javascript
1.
2.
3.
4.
5.
6.
function formatItem(pThis) {
var params = 'p_arg1=' + htmldb_Get_escape($v(pThis));
var get = new htmldb_Get(null, null, null, &APP_PAGE_ID.,
null, 'my_proc', params);
. . .
}


Это из книги Oracle Application Express 3.2.
Там говорится, что параметр proc вызова
Код: javascript
1.
htmldb_Get(obj,flow,req,page,instance,proc,queryString)


может быть использован для непосредственного вызова хранимой процедуры:
However, the APEX AJAX framework also allows us to invoke an external (to APEX) stored (or packaged) procedure as the logic of the AJAX server side. In this case, we can utilize an already existing logic in the database. Moreover, we can benefit from the "regular" advantages of stored procedures, such as a pre-complied code, for better performance, or the option to use wrapped PL/SQL packages, which can protect our business logic better (the APEX on-demand PL/SQL process can be accessed on the database level as clear text).
The parameter should be formatted as a URL and can be in the form of a relative URL. In this case, the system will complete the relative URL into a full path URL based on the current window.location.href property.
И приведен пример (см.выше)

Я при этом получаю ошибку 404 The requested URL /apex/my_proc was not found on this server

В более поздних книгах уже говорится что
proc: This is a string that represents a procedure that you wish to call using the URL syntax. It is unlikely that you will ever need to pass anything in here.
Это из книги T.Fox et al. "Pro Oracle Application Express 4"
Типа, "вам это не надо".

Я знаю, что процедуру можно вызвать через вызов PL/SQL процесса в htmldb_Get, а уже в процессе вызвать саму процедуру.

Но кому-нибудь удалось выхвать процедуру напрямую, используя этот параметр proc?

Мне кажется, здесь все упирается в этот самый "URL syntax", как написано в первой книге, The parameter should be formatted as a URL

Но как, Холмс?
...
Рейтинг: 0 / 0
Вызов хранимой процедуры через AJAX - баг?
    #38284525
Фотография ХБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чёрт, и опять сам себе отвечаю. Прямо мистика какая-то: стоит поместить вопрос на SQL.ru и тут же сам находишь ответ. Даже если перед этим искал 3 дня.
Итак:
это не баг, это фича.
Чтобы такой вызов работал нужно:
1. в схеме APEX_<>...изменить код процедуры wwv_flow_epg_include_mod_local таким образом, чтобы возвращалось значение true; (да хто ж ему дасть!)
2. на вызываемую процедуру нужно сделать grant execute on <> to ANONYMOUS
3. процедуру вызывать с префиксом #OWNER#.
...
Рейтинг: 0 / 0
Вызов хранимой процедуры через AJAX - баг?
    #38287906
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХБЧтобы такой вызов работал нужно:
Поделитесь пожалуйста кейсом когда это нужно. Почему вы не хотите вызывать ondemand процесс апекса ?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Вызов хранимой процедуры через AJAX - баг?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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