powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / APEX_DATA_PARSE
6 сообщений из 6, страница 1 из 1
APEX_DATA_PARSE
    #40079495
juratorneo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые коллеги, доброго дня. Помогите пожалуйста. Что то не разберусь. В apex есть примерчик как он может разобрать документ xlwx, txt, csv на таблицу , распарсить. По этой аналогии я сделал свое приложенице. Всё парсится и я вижу таблицу. Но я не понимаю как мне к примеру по кнопке перегрузить эти данные в свою другую физическую таблицу. Как мне распарсеный файл в виде таблице перелить в физическую таблицу?? Если я правильно понимаю, то временные данные после разбора должны находиться во временной таблице apex-application_temp_files. Но она пустая. Благодарю
...
Рейтинг: 0 / 0
APEX_DATA_PARSE
    #40084510
ilyuha111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
создаю процесс на кнопку
пишу примерно такой код
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
APEX_DATA_PARSE
    #40084511
ilyuha111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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
APEX_DATA_PARSE
    #40084689
Sah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
APEX_DATA_PARSE
    #40089263
=nomad=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите пример Sample Data Loading, там как раз то, что вам надо 1 в 1 (Multiple File Types Load).
...
Рейтинг: 0 / 0
APEX_DATA_PARSE
    #40116370
juratorneo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
=nomad=,

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


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