У меня есть ситуация, когда мне нужно выполнить некоторый код, который по ряду причин (я не буду здесь вдаваться) лучше выполнять в Java, чем в PL / SQL. На мой взгляд, есть два варианта:
Создайте jar со всем моим скомпилированным кодом и другими вспомогательными файлами / другими jar-файлами, загрузите jar-файл в Oracle (у нас работает 10g) и выполните Java из хранимой процедуры.
- Плюсы: Java-код очень хорошо интегрируется с остальной частью системы, может вызываться из существующего PL / SQL.
- Минусы: у меня очень мало опыта работы с Java в Oracle.
Оставьте Java в отдельном банке и выполните его с помощью сценариев оболочки.
- Плюсы: я уже писал на Java раньше, поэтому я знаком с ним.
- Минусы: Плохая интеграция со всем остальным, вероятно, потребует дополнительных ручных шагов для запуска и управления.
Код Java должен будет читать данные XML из таблиц Oracle и записывать данные (не-XML) в другие таблицы, поэтому степень интеграции базы данных заставила меня подумать, что загрузка кода Java в базу данных может быть хорошей идеей, но Я просто не уверен ...
Какой опыт люди загружают и запускают Java-код изнутри Oracle? Насколько легко тестировать и отлаживать? Требуются ли какие-либо специальные инструменты? Любые "ошибки", о которых я должен знать?