Как отобразить таблицу последовательности в папке последовательности

#oracle #oracle-sqldeveloper #sequence #soa #bpel

#Oracle #oracle-разработчик sqld #последовательность #СОА #bpel

Вопрос:

Я работаю над процессом SOA BPEL, в котором он считывает данные из XML-файла и загружает их в таблицы базы данных. Однако последовательность таблиц, которую мне нужно вызвать в моем файле преобразования, не отображается в таблице последовательностей, но ее можно запросить (см. Ниже запрос). Из-за этого он возвращает ошибку, при которой файл преобразования не работает, поскольку он обрабатывает несуществующие последовательности. Мне нужно вызвать эти последовательности, чтобы я мог генерировать значения последовательности для идентификаторов таблиц.

 SELECT XXTG_SAMPLE_HEADER_S.nextval FROM DUAL; SELECT XXTG_SAMPLE_LINES_S.nextval FROM DUAL;  

Вот единственная последовательность, отображаемая в папке:
введите описание изображения здесь

Здесь я называю их в своем файле преобразования:

 lt;tns:repairIdgt;  lt;xsl:value-of select="oraext:sequence-next-val ('XXTG_SAMPLE_HEADER_S', 'jdbc/timexappsDataSource')"/gt; lt;/tns:repairIdgt;  lt;tns:repairLineIdgt;  lt;xsl:value-of select="oraext:sequence-next-val ('XXTG_SAMPLE_LINES_S', 'jdbc/timexappsDataSource')"/gt; lt;/tns:repairLineIdgt;  

Ответ №1:

Существуют только простые объяснения ошибки ORA-02289: sequence does not exist , когда вы можете выполнить специальный запрос к ней.

Давайте перечислим их

  • последовательность существует, но в другой базе данных, к которой подключен ваш процесс.
  • последовательность существует, но в другой схеме, чем та, которую использует ваш процесс для подключения.

Решение первого случая очевидно.

В последнем случае

  • проверьте схему последовательности

select SEQUENCE_OWNER from all_sequences where sequence_name = 'XXTG_SAMPLE_HEADER_S';

  • проверьте, к какому пользователю подключается ваш процесс
  • предоставьте ВЫБОР в последовательности пользователю подключения

соединитесь с пользователем, создавшим последовательность, и

grant select on seq_user.XXTG_SAMPLE_HEADER_S to connect_user;

Комментарии:

1. Уже предоставлено разрешение, но файл преобразования по-прежнему не видит эти последовательности. Есть ли способ, чтобы эти последовательности отображались в таблице последовательностей? К сожалению, файл преобразования видит только эти 3 последовательности на скриншоте.

2. Забудьте файл преобразования , который вы должны понять, который user подключается к базе данных. Проверьте конфигурацию и найдите пользователя , *пароль . Это user должно получить грант.