Гость
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Как корректно определить из PLSQL, что APEX установлен / 5 сообщений из 5, страница 1 из 1
05.10.2010, 16:55
    #36883056
Lav
Lav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как корректно определить из PLSQL, что APEX установлен
Собственно сабж.
Но только есть нюанс. Как определить это так, чтобы это можно было использовать в условной компиляции PLSQL кода, c помощью $if. Так как $if подразумевает использование boolean_static_expression (пруф http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/fundamentals.htm#CHDIGDHA )

--
Все что НЕ делается все к лучшему...
...
Рейтинг: 0 / 0
06.10.2010, 00:19
    #36883775
Edward Shevtsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как корректно определить из PLSQL, что APEX установлен
Lav,

посмотри как сделано в APEXLIB от Патрика Вольфа. По памяти точно не скажу, но там что-то простое либо проверяется начиличие схемы апекс, либо наличие паблик синонима для ключевого объекта апекс. Второе более вероятно.
...
Рейтинг: 0 / 0
06.10.2010, 10:50
    #36884140
Lav
Lav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как корректно определить из PLSQL, что APEX установлен
Edward ShevtsovLav,

посмотри как сделано в APEXLIB от Патрика Вольфа. По памяти точно не скажу, но там что-то простое либо проверяется начиличие схемы апекс, либо наличие паблик синонима для ключевого объекта апекс. Второе более вероятно.

Это здорово конечно, но как константой проверить существование синонима или схемы, мне ведь надо использовать это для условной компиляции.
...
Рейтинг: 0 / 0
09.10.2010, 21:58
    #36891113
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как корректно определить из PLSQL, что APEX установлен
Lav,

как-то так:

Код: plaintext
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.
create or replace package test_pkg
as
  procedure p;
end test_pkg;
/

create or replace package body test_pkg
as
  procedure p 
  is
  begin
    $IF $$APEX $THEN
      do_something;
    $ELSE
      null;
    $END
  end; 
end test_pkg;
/

show errors;

declare
  l_apex varchar2( 10 ) := FALSE;
  l_plsql_compiler_flags varchar2( 2000 );
begin
  for cr in (select 'TRUE' s from apex_application_items where rownum =  1 )
  loop
    l_apex := cr.s;
  end loop;

  l_plsql_compiler_flags :=  'APEX:' || l_apex;
  
  execute immediate q'[]alter package test_pkg compile body PLSQL_CCFLAGS=']' || l_plsql_compiler_flags || q'[' reuse settings]';
end;
/

show errors;
...
Рейтинг: 0 / 0
09.10.2010, 21:58
    #36891115
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как корректно определить из PLSQL, что APEX установлен
suPPLerLav,

как-то так:

Код: plaintext
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.
create or replace package test_pkg
as
  procedure p;
end test_pkg;
/

create or replace package body test_pkg
as
  procedure p 
  is
  begin
    $IF $$APEX $THEN
      do_something;
    $ELSE
      null;
    $END
  end; 
end test_pkg;
/

show errors;

declare
  l_apex varchar2( 10 ) := FALSE;
  l_plsql_compiler_flags varchar2( 2000 );
begin
  for cr in (select 'TRUE' s from apex_application_items where rownum =  1 )
  loop
    l_apex := cr.s;
  end loop;

  l_plsql_compiler_flags :=  'APEX:' || l_apex;
  
  execute immediate q'[alter package test_pkg compile body PLSQL_CCFLAGS=']' || l_plsql_compiler_flags || q'[' reuse settings]';
end;
/


Убрал огрехи копипаста.
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Как корректно определить из PLSQL, что APEX установлен / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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