Можно ли прочитать определение данных из хранимой процедуры Java в DB2?

Привет всем,

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

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

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

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


person Fedox    schedule 23.10.2018    source источник
comment
Добро пожаловать @Stackoverflow. Поскольку вы задавали вопросы — пожалуйста, пройдите экскурсию — люди также увидят это (вы получите второй значок) и посчитают, что вы знать содержание. В общем: вы уже что-то пробовали, обычно лучше всего показать код того, что вы пробовали до сих пор, это поможет людям увидеть, что вы сделали, и как, возможно, помочь вам лучше.   -  person Simon Sobisch    schedule 23.10.2018


Ответы (1)


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

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

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

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

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

person cschneid    schedule 23.10.2018
comment
очень хорошо сказано. - person SaggingRufus; 23.10.2018
comment
Прежде всего спасибо за ваш подробный ответ. Я знаю, что вы абсолютно правы насчет конкретной архитектуры-политики, систем и так далее. Я просто попытался абстрагироваться от проблемы и объяснить ее чисто теоретически. Однако я попробую с BPXWDYN и дам вам знать. Большое спасибо! - person Fedox; 24.10.2018