Как изменить сессию перед запуском sql через задание datastage - PullRequest
2 голосов
/ 10 июля 2019

Мне нужно изменить сеанс перед выполнением основного sql в соединителе оракула, используемом в моей работе с данными.

Я попытался изменить сеанс до вкладки sql, как показано ниже. Но кажется, что это не работает, измените сеанс set star_transformation_enabled= TRUE;

Когда я изменяю сеанс из sql developer и запускаю свой основной sql, он выполняется за 20 минут, но из задания данных работа выполняется дольше более 20 часов. Мне кажется, что каким-то образоммоя сессия alter не работает из datastage.

1 Ответ

0 голосов
/ 13 июля 2019

Хорошо, у меня твоя проблема.

Вы можете использовать следующую технику, чтобы изменить сеанс в PL/SQL block.

BEGIN
EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_FORMAT = ''DD-MON-RRRR HH24:MI:SS'' ';
DBMS_OUTPUT.PUT_LINE('1 --> ' || SYSDATE);
EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_FORMAT = ''DD/MON/RRRR HH24:MI:SS'' ';
DBMS_OUTPUT.PUT_LINE('2 --> ' || SYSDATE);
END;
/

--
Output
--

dbms_output:
1 --> 13-JUL-2019 04:52:58
2 --> 13/JUL/2019 04:52:58

db <> fiddle demo

Ура !!

...