Можно ли прочитать определение данных из хранимой процедуры Java под DB2? - PullRequest
0 голосов
/ 23 октября 2018

Hy all,

это мой первый вопрос по stackoverflow, поэтому дайте мне знать, если что-то не так.Однако мне нужно знать, возможно ли прочитать набор данных, определенный с именем DD, объявленным в программе COBOL, из хранимой процедуры Java в DB2.

Поток программы: - JCL вызываетХРАНИЛИЩАЯ ПРОЦЕДУРА - ХРАНИЛИЩАЯ ПРОЦЕДУРА вызывает jar - баночка пытается открыть набор данных через имя DD

Я пытался использовать класс ZFile из библиотеки jZos, но код Java не видит ни имя DD, ниотносительный файл в z / OS.Я сомневаюсь: нет способа выполнить эту задачу, потому что JVM в DB2 работает в изолированной среде или существует определенный класс / процедура для доступа к набору данных?

Заранее спасибо!

1 Ответ

0 голосов
/ 23 октября 2018

Существует значительная разница между "возможно ли это", "разрешено ли это" и "это хорошая идея".

Поскольку вы знаете имя файла, я считаю, это может бытьвозможно достичь своей цели путем динамического выделения файла, связанного с DD. javadoc для ZFile указывает, что он «включает интерфейс к BPXWDYN (текстовый интерфейс для динамического выделения MVS)».

Разрешено ли это в вашем ИТ-магазиневопрос для ваших сотрудников по архитектуре и программистов систем DB2 (людей, отвечающих за установку, настройку и производительность DB2).То, что что-то возможно, не означает, что это разрешено - могут быть соображения производительности, безопасности или аудита.

Даже если выясняется, что эта архитектура возможна и допустима, может случиться так, что лучшерешения .Поговорите со своими сотрудниками по архитектуре и z / OS и системными программистами DB2 о ваших требованиях и о том, почему вы хотите использовать именно это решение.Спросите у них предложения относительно улучшений, которые все еще реализуют ваши требования.

Например, если вы собираетесь выполнить эту хранимую процедуру миллион раз в пакетном задании и динамически выделить файл, откройте его, прочитайте его содержимоезакройте его, а затем освободите его для каждого выполнения - это вряд ли будет работать хорошо и может оказать неблагоприятное влияние на другие приложения, использующие хранимые процедуры DB2.Возможно, лучше сохранить содержимое файла в таблице DB2 - я не могу сказать, потому что я не знаю ваших бизнес-требований или контекста остальной части вашего приложения, я просто привожу его в качестве примера.

...