powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите с INSERT-ом
16 сообщений из 16, страница 1 из 1
Помогите с INSERT-ом
    #39602443
akaipbay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

Пытаюсь инсертнуть результат селекта по дблинку и получаю ошибку

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
create or replace procedure P_IB_CLIENT_AUTH_HISTORY as
begin

  INSERT INTO T_CLIENT_AUTH_HISTORY@HDW
  SELECT tis.start_date event_date,
             tiu.phone_number phone,
             tiu.cuid,
             CASE tis.device_id
               WHEN 'INTERNET' THEN
                'IB'
               ELSE
                'MB'
             END channel
        FROM hcbib.tbl_ib_session@hcbib tis
        LEFT JOIN hcbib.tbl_ib_user@hcbib tiu
          ON tiu.id = tis.user_id
         AND to_date(tis.start_date, 'DD/MM/YYYY') =
             to_date(sysdate - 1, 'DD/MM/YYYY');

  COMMIT;

end P_IB_CLIENT_AUTH_HISTORY;



получаю ошибку

EXECUTE P_IB_CLIENT_AUTH_HISTORY;
Warning: connection was lost and re-established
begin P_IB_CLIENT_AUTH_HISTORY; end;
ORA-03113: принят сигнал конца файла по коммуникационному каналу
Идентификатор процесса: 2899
Идентификатор сеанса: 74 Порядковый номер: 313

Что делается не так?
Походу нельзя брать с одной базы и сразу парсить в другую?
...
Рейтинг: 0 / 0
Помогите с INSERT-ом
    #39602445
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В плане REMOTE? Возможно идёт попытка выполнить весь запрос на одном из линков.
...
Рейтинг: 0 / 0
Помогите с INSERT-ом
    #39602449
akaipbay,

может админу не нравится твой запрос и он киляет.
а может всемогущий интернал еггог.
...
Рейтинг: 0 / 0
Помогите с INSERT-ом
    #39602467
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akaipbay,

в алертлоге может быть больше инфы по ORA-03113

.....
stax
...
Рейтинг: 0 / 0
Помогите с INSERT-ом
    #39602557
efendi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
akaipbay,

Откуда-то с просторов
Select and Insert Using DB Links

This method may work, but multiple DB links can be used simultaneously. See Oracle documentation at http://docs.oracle.com/cd/B28359_01/server.111/b28324/tdpii_distdbs.htm

Note that all involved DBs must be able to communicate with each other and have their GLOBAL_NAMES initialization parameters set to true in order to modify information in any of the DBs.


З.Ы. Проверил у себя. Работает. Oracle Database 12c Enterprise Edition Release 12.1.0.2.0
...
Рейтинг: 0 / 0
Помогите с INSERT-ом
    #39602571
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akaipbay
Код: plsql
1.
to_date(sysdate - 1, 'DD/MM/YYYY');


хрень
...
Рейтинг: 0 / 0
Помогите с INSERT-ом
    #39602689
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я с начало попробовал выполнить запрос без дблинков
...
Рейтинг: 0 / 0
Помогите с INSERT-ом
    #39602697
akaipbay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx,

просвяти
...
Рейтинг: 0 / 0
Помогите с INSERT-ом
    #39602705
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akaipbayпросвяти
Код: plsql
1.
explain plan for select * from dual where to_date(sysdate - 1, 'DD/MM/YYYY') is not null;
...
Рейтинг: 0 / 0
Помогите с INSERT-ом
    #39602709
Elic,

думаешь - он поймёт?
...
Рейтинг: 0 / 0
Помогите с INSERT-ом
    #39602713
akaipbay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

не понял)))
...
Рейтинг: 0 / 0
Помогите с INSERT-ом
    #39602719
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akaipbayне понял)))Знать помрёшь говнокодером.
Код: plsql
1.
2.
3.
4.
alter session set nls_date_format = 'dd.mm.yy hh24:mi:ss';
select * from dual where to_date(sysdate - 1, 'DD/MM/YYYY') is not null;
alter session set nls_date_format = 'mm.dd/yyyy';
select * from dual where to_date(sysdate - 1, 'DD/MM/YYYY') is not null;

...
Рейтинг: 0 / 0
Помогите с INSERT-ом
    #39602739
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014я с начало попробовал выполнить запрос без дблинков
И как, успешно?

Помогло выполнение запроса "с одного дблинка на другой" без дблинков? Выполнился?
...
Рейтинг: 0 / 0
Помогите с INSERT-ом
    #39602741
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akaipbay,

Самый простой вариант - разрулить через промежуточную коллекцию или временную таблицу.

При текущем варианте запроса, каждая бд должна знать про всех остальных участников распределённой транзакции. Если разбить на получение на локаль с источника (+ завершение первой распределённой транзакции) и потом пробросить на приёник (+ завершение второй распределённой транзакции), то контролировать процесс становится проще.

Как минимум приёмник перестаёт зависеть от подтверждения распределённой транзакции на источнике.
...
Рейтинг: 0 / 0
Помогите с INSERT-ом
    #39602770
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014,

to_date(sysdate - 1, 'DD/MM/YYYY');

будет выполнено неявное преобразование даты в строку (sysdate-1) которое зависит от нлс, а потом в дату

TO_DATE(TO_CHAR(SYSDATE-1),'DD/MM/YYYY')

.....
stax
...
Рейтинг: 0 / 0
Помогите с INSERT-ом
    #39602979
akaipbay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
env,

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


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