0

みなさん、

これはスタックオーバーフローに関する私の最初の質問です。何か問題がある場合はお知らせください。ただし、DB2 の Java ストアド プロシージャから、COBOL プログラムで宣言された DD 名で定義されたデータセットを読み取ることができるかどうかを知る必要があります。

プログラム フローは次のとおりです。 - JCL が STORED PROCEDURE を呼び出す - STORED PROCEDURE が jar を呼び出す - jar が DD 名を介してデータ セットを開こうとする

jZos ライブラリの ZFile クラスを使用しようとしましたが、Java コードは z/OS 上の DD 名と相対ファイルのどちらも認識できません。私の疑問は次のとおりです。DB2 上の JVM が分離された環境で実行されているため、またはデータセットに到達するための特定のクラス/手順があるため、このタスクを達成する方法はありませんか?

前もって感謝します!

4

1 に答える 1

5

「それは可能ですか」、「それは許されますか」、「それは良い考えですか」には大きな違いがあります。

ファイル名を知っているので、DD に関連付けられたファイルを動的に割り当てることで目標を達成できる可能性があると思います。ZFileのjavadocは、「BPXWDYN へのインターフェース (MVS 動的割り振りへのテキスト・ベースのインターフェース) を含む」ことを示しています。

これが IT ショップで許可されるかどうかは、アーキテクチャ スタッフと DB2 システム プログラマー (DB2 のインストール、構成、およびパフォーマンスを担当する人々) の問題です。何かが可能だからといって、それが許可されているわけではありません。パフォーマンス、セキュリティ、または監査に関する考慮事項がある場合があります。

このアーキテクチャが可能であり、許可されていることが判明したとしても、より良い解決策がある可能性があります。要件と、この特定のソリューションを追求したい理由について、アーキテクチャー・スタッフ、z/OS および DB2 システムのプログラマーに相談してください。あなたの要件をまだ実装している改善点について、彼らに提案を求めてください。

たとえば、バッチ ジョブでこのストアド プロシージャを 100 万回実行し、ファイルを動的に割り当て、ファイルを開き、その内容を読み取り、閉じてから、実行のたびに割り当てを解除する場合、適切に実行される可能性は低いです。また、DB2 ストアード・プロシージャーを使用する他のアプリケーションに悪影響を与える可能性があります。おそらく、ファイルの内容を DB2 テーブルに格納する方が良い解決策です。私はあなたのビジネス要件やアプリケーションの残りのコンテキストがわからないので、それを例として挙げただけです。

于 2018-10-23T15:35:35.840 に答える