powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / синхронизация вызовов внешних java-функций из pl-sql
11 сообщений из 11, страница 1 из 1
синхронизация вызовов внешних java-функций из pl-sql
    #39606137
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

На сервере Oracle есть джоб, в котором вызывается java-функция, которая работает с диском - копирует файл из первой папки во вторую. Затем вызывается другая java-функция, которая копирует этот файл из второй папки в третью. Код примерно такой:

Код: plsql
1.
2.
3.
4.
...
p_res := fcopyfileto(p_fileNameSrc,p_fileNameDst1);
p_res := fcopyfileto(p_fileNameDst1,p_fileNameDst2);
...



Как быть уверенным в том, что 2-й вызов функции сработает точно уже тогда когда отработает 1-й и файл будет гарантированно находиться в Dst1 ?
...
Рейтинг: 0 / 0
синхронизация вызовов внешних java-функций из pl-sql
    #39606144
Фотография шК0ДЕР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verter, что возвращает функция?
Если положительный результат после копирования - проверяй это перед вторым вызовом
Код: plsql
1.
2.
3.
4.
p_res := fcopyfileto(p_fileNameSrc,p_fileNameDst1);
if p_res = 1 then /*0 - функция выполнилась с ошибкой, 1 - выполнилась успешно*/
  p_res := fcopyfileto(p_fileNameDst1,p_fileNameDst2);
end if;
...
Рейтинг: 0 / 0
синхронизация вызовов внешних java-функций из pl-sql
    #39606148
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шК0ДЕРverter, что возвращает функция?
Если положительный результат после копирования - проверяй это перед вторым вызовом
Код: plsql
1.
2.
3.
4.
p_res := fcopyfileto(p_fileNameSrc,p_fileNameDst1);
if p_res = 1 then /*0 - функция выполнилась с ошибкой, 1 - выполнилась успешно*/
  p_res := fcopyfileto(p_fileNameDst1,p_fileNameDst2);
end if;


это понятно, но будет ли проверка 1-го p_res означать, что oracle подождёт прежде чем пытаться скопировать во 2-й раз?
...
Рейтинг: 0 / 0
синхронизация вызовов внешних java-функций из pl-sql
    #39606149
verter,

От повторного перекопирования диск не протрется.
...
Рейтинг: 0 / 0
синхронизация вызовов внешних java-функций из pl-sql
    #39606159
Фотография шК0ДЕР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verterэто понятно, но будет ли проверка 1-го p_res означать, что oracle подождёт прежде чем пытаться скопировать во 2-й раз?Оракл не будет ждать.
Оракл будет последовательно вызывать функции.(хотя мало ли что в них имеется, код ведь не представлен)
...
Рейтинг: 0 / 0
синхронизация вызовов внешних java-функций из pl-sql
    #39606161
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шК0ДЕРverterэто понятно, но будет ли проверка 1-го p_res означать, что oracle подождёт прежде чем пытаться скопировать во 2-й раз?Оракл не будет ждать.
Оракл будет последовательно вызывать функции.(хотя мало ли что в них имеется, код ведь не представлен)

вот в этом то и проблема.

оракле вызывает последовательно функции, а если в результате работы первой файл ещё не успел переписаться в Dst1, а Оракл уже вызвал 2-й раз этуфункцию ,которая попыталась скопировать файл из Dst1, не обнаружила его там и вывалилась с ошибкой?
...
Рейтинг: 0 / 0
синхронизация вызовов внешних java-функций из pl-sql
    #39606162
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как заставить оракл подождать?
...
Рейтинг: 0 / 0
синхронизация вызовов внешних java-функций из pl-sql
    #39606165
Фотография шК0ДЕР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verterкак заставить оракл подождать?
шК0ДЕРverter, что возвращает функция?
Если положительный результат после копирования - проверяй это перед вторым вызовом
...
Рейтинг: 0 / 0
синхронизация вызовов внешних java-функций из pl-sql
    #39606197
копираст
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
verterкак заставить оракл подождать?
Если копирование асинхронное, то вариантов два:
1. Копировать в оба каталога назначения один и тот же исходных файл, а не копию.
2. Копирование можно проводить в файл со временным именем, по завершении - переименовывать в целевое - этот прием на 100% избавляет от попыток обработать недокопированный файл.
...
Рейтинг: 0 / 0
синхронизация вызовов внешних java-функций из pl-sql
    #39606211
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
копирастverterкак заставить оракл подождать?
Если копирование асинхронное, то вариантов два:
1. Копировать в оба каталога назначения один и тот же исходных файл, а не копию.
2. Копирование можно проводить в файл со временным именем, по завершении - переименовывать в целевое - этот прием на 100% избавляет от попыток обработать недокопированный файл.

спасибо! попробую.
...
Рейтинг: 0 / 0
синхронизация вызовов внешних java-функций из pl-sql
    #39607190
XMLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verterДобрый день.

На сервере Oracle есть джоб, в котором вызывается java-функция, которая работает с диском - копирует файл из первой папки во вторую. Затем вызывается другая java-функция, которая копирует этот файл из второй папки в третью. Код примерно такой:

Код: plsql
1.
2.
3.
4.
...
p_res := fcopyfileto(p_fileNameSrc,p_fileNameDst1);
p_res := fcopyfileto(p_fileNameDst1,p_fileNameDst2);
...



Как быть уверенным в том, что 2-й вызов функции сработает точно уже тогда когда отработает 1-й и файл будет гарантированно находиться в Dst1 ?

AQ
Propagation Features
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / синхронизация вызовов внешних java-функций из pl-sql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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