Гость
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / APEX_DATA_PARSE / 6 сообщений из 6, страница 1 из 1
23.06.2021, 07:28
    #40079495
juratorneo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX_DATA_PARSE
Уважаемые коллеги, доброго дня. Помогите пожалуйста. Что то не разберусь. В apex есть примерчик как он может разобрать документ xlwx, txt, csv на таблицу , распарсить. По этой аналогии я сделал свое приложенице. Всё парсится и я вижу таблицу. Но я не понимаю как мне к примеру по кнопке перегрузить эти данные в свою другую физическую таблицу. Как мне распарсеный файл в виде таблице перелить в физическую таблицу?? Если я правильно понимаю, то временные данные после разбора должны находиться во временной таблице apex-application_temp_files. Но она пустая. Благодарю
...
Рейтинг: 0 / 0
18.07.2021, 12:31
    #40084510
ilyuha111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX_DATA_PARSE
создаю процесс на кнопку
пишу примерно такой код
insert into STOK1
(f1 ,
partner_id ,
f2 --,
promo_date_begin ,
promo_date_end ,
is_del_flag ,
change_id
)
select null as SA_PROMO_ID,
col004 as PARTNER_ID,
col001 as PROMO_CODE,
to_date(col005,'dd.mm.yyyy') PROMO_DATE_BEGIN,
to_date(col006,'dd.mm.yyyy') PROMO_DATE_END,
'0' as is_del_flag,
:P28_SA_PROMO_HEAD_ID as change_id
from apex_application_temp_files f,
table( apex_data_parser.parse(
p_content => f.blob_content,
p_add_headers_row => 'Y',
p_xlsx_sheet_name => :P28_XLSX_WORKSHEET,
P_SKIP_ROWS => 1 ,
p_store_profile_to_collection => 'FILE_PARSER_COLLECTION',
p_file_name => f.filename ) ) p
where f.name = :P28_FILE
;
...
Рейтинг: 0 / 0
18.07.2021, 12:33
    #40084511
ilyuha111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX_DATA_PARSE
Код: 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.
insert into STOK1
(f1 ,
partner_id ,
f2 --,
promo_date_begin ,
promo_date_end ,
is_del_flag ,
change_id
)
select null as SA_PROMO_ID,
col004 as PARTNER_ID,
col001 as PROMO_CODE,
to_date(col005,'dd.mm.yyyy') PROMO_DATE_BEGIN,
to_date(col006,'dd.mm.yyyy') PROMO_DATE_END,
'0' as is_del_flag,
:P28_SA_PROMO_HEAD_ID as change_id
from apex_application_temp_files f,
table( apex_data_parser.parse(
p_content => f.blob_content,
p_add_headers_row => 'Y',
p_xlsx_sheet_name => :P28_XLSX_WORKSHEET,
P_SKIP_ROWS => 1 ,
p_store_profile_to_collection => 'FILE_PARSER_COLLECTION',
p_file_name => f.filename ) ) p
where f.name = :P28_FILE
;
...
Рейтинг: 0 / 0
19.07.2021, 16:32
    #40084689
Sah
Sah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX_DATA_PARSE
juratorneo
У Если я правильно понимаю, то временные данные после разбора должны находиться во временной таблице apex-application_temp_files. Но она пустая.


Она не совсем пустая. Содержимое этой таблицы видимо только из-под активной сессии APEX.
Создать сессию APEX можно процедурой:

Код: sql
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 PROCEDURE sp_create_apex_session(
  p_app_id IN apex_applications.application_id%TYPE,
  p_app_user IN apex_workspace_activity_log.apex_user%TYPE,
  p_app_page_id IN apex_application_pages.page_id%TYPE DEFAULT 1)
AS
  l_workspace_id apex_applications.workspace_id%TYPE;
  l_cgivar_name  owa.vc_arr;
  l_cgivar_val   owa.vc_arr;
BEGIN

  htp.init;

  l_cgivar_name(1) := 'REQUEST_PROTOCOL';
  l_cgivar_val(1) := 'HTTP';

  owa.init_cgi_env(
    num_params => 1,
    param_name => l_cgivar_name,
    param_val => l_cgivar_val );

  SELECT workspace_id
  INTO l_workspace_id
  FROM apex_applications
  WHERE application_id = p_app_id;

  wwv_flow_api.set_security_group_id(l_workspace_id);

  apex_application.g_instance := 1;
  apex_application.g_flow_id := p_app_id;
  apex_application.g_flow_step_id := p_app_page_id;

  apex_custom_auth.post_login(
    p_uname => p_app_user,
    p_session_id => NULL, -- could use APEX_CUSTOM_AUTH.GET_NEXT_SESSION_ID
    p_app_page => apex_application.g_flow_id||':'||p_app_page_id);
END;
/
...
Рейтинг: 0 / 0
06.08.2021, 19:17
    #40089263
=nomad=
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX_DATA_PARSE
Посмотрите пример Sample Data Loading, там как раз то, что вам надо 1 в 1 (Multiple File Types Load).
...
Рейтинг: 0 / 0
01.12.2021, 06:38
    #40116370
juratorneo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX_DATA_PARSE
=nomad=,

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


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