作者:aaa521125aaa | 来源:互联网 | 2022-12-01 16:11
Hy all,
这是我关于stackoverflow的第一个问题,所以如果出现问题请告诉我.Howerver,我需要知道是否可以从DB2下的Java存储过程读取使用COBOL程序中声明的DD名称定义的数据集.
程序流程是: - 一个JCL调用一个STORED PROCEDURE - STORED PROCEDURE调用jar - jar尝试通过DD名称打开数据集
我试图从jZos库中使用ZFile类,但Java代码既不能在z/OS上看到DD名称和相关文件.我的疑问是:无法完成此任务,因为DB2上的JVM在隔离环境中运行,或者有特定的类/过程来访问数据集?
提前致谢!
1> cschneid..:
"是否有可能","是否允许"和"这是一个好主意"之间存在显着差异.
因为您知道文件名,所以我认为可以通过动态分配与DD关联的文件来实现您的目标.ZFile 的javadoc表明它"包含了一个BPXWDYN接口(基于文本的MVS动态分配接口)."
您的IT工作室是否允许这是一个问题,您的架构人员和DB2 Systems程序员(负责安装,配置和执行DB2的人员)是一个问题.仅仅因为某些事情是可能的并不意味着它是允许的 - 可能存在性能或安全性或审计考虑因素.
即使事实证明这种架构是可行的并且允许,也可能有更好的解决方案.与您的架构人员和z/OS以及DB2 Systems程序员讨论您的要求以及您希望采用此特定解决方案的原因.向他们询问有关仍在实施您的要求的改进建议.
例如,如果您打算在批处理作业中执行此存储过程一百万次,并动态分配该文件,打开它,读取其内容,关闭它,然后在每次执行时释放它 - 这不太可能表现良好并且可能对使用DB2存储过程的其他应用程序产生负面影响.也许将文件的内容存储在DB2表中是一个更好的解决方案 - 我不能说因为我不知道您的业务需求或应用程序其余部分的上下文,我只是将其作为示例.