Cobol 是否可以在DB2下从java存储过程中读取数据定义?

Cobol 是否可以在DB2下从java存储过程中读取数据定义?,cobol,java-stored-procedures,db2-zos,Cobol,Java Stored Procedures,Db2 Zos,何乐而不为 这是我关于stackoverflow的第一个问题,如果有什么问题,请告诉我。 然而,我需要知道是否可以从DB2下的Java存储过程中读取数据集,该数据集由COBOL程序中声明的DD名称定义 程序流程为: -JCL调用存储过程 -存储过程调用jar -jar尝试通过DD名称打开数据集 我试图使用jZos库中的ZFile类,但Java代码在z/OS上既看不到DD名称也看不到相关文件。 我的疑问是:没有办法完成这个任务,因为DB2上的JVM运行在一个隔离的环境中,或者有一个特定的类/过程来

何乐而不为

这是我关于stackoverflow的第一个问题,如果有什么问题,请告诉我。 然而,我需要知道是否可以从DB2下的Java存储过程中读取数据集,该数据集由COBOL程序中声明的DD名称定义

程序流程为: -JCL调用存储过程 -存储过程调用jar -jar尝试通过DD名称打开数据集

我试图使用jZos库中的ZFile类,但Java代码在z/OS上既看不到DD名称也看不到相关文件。 我的疑问是:没有办法完成这个任务,因为DB2上的JVM运行在一个隔离的环境中,或者有一个特定的类/过程来访问数据集


提前谢谢

在“是否可能”、“是否允许”和“这是个好主意”之间有着显著的区别

因为您知道文件名,我相信通过动态分配与DD相关联的文件可以实现您的目标。for ZFile表示它“包括到BPXWDYN的接口(到MVS动态分配的基于文本的接口)。”

IT部门是否允许这样做是架构人员和DB2系统程序员(负责DB2安装、配置和性能的人员)的问题。仅仅因为某些事情是可能的并不意味着它是允许的-可能有性能、安全性或审计方面的考虑

即使事实证明这种架构是可能的,并且是允许的,也可能有更好的解决方案。与您的体系结构人员、z/OS和DB2系统程序员讨论您的需求,以及为什么希望采用这种特殊的解决方案。向他们征求关于仍能实现您的需求的改进建议


例如,如果要在批处理作业中执行此存储过程一百万次,并动态分配文件、打开文件、读取文件内容、关闭文件,然后为每次执行取消分配它—这不太可能执行得很好,并且可能对使用DB2存储过程的其他应用程序产生不利影响。也许将文件内容存储在DB2表中是一个更好的解决方案—我不能说,因为我不知道您的业务需求或应用程序其余部分的上下文,所以我只是举个例子。

在“是否可能”、“是否允许”和“这是一个好主意”之间有很大的区别

因为您知道文件名,我相信通过动态分配与DD相关联的文件可以实现您的目标。for ZFile表示它“包括到BPXWDYN的接口(到MVS动态分配的基于文本的接口)。”

IT部门是否允许这样做是架构人员和DB2系统程序员(负责DB2安装、配置和性能的人员)的问题。仅仅因为某些事情是可能的并不意味着它是允许的-可能有性能、安全性或审计方面的考虑

即使事实证明这种架构是可能的,并且是允许的,也可能有更好的解决方案。与您的体系结构人员、z/OS和DB2系统程序员讨论您的需求,以及为什么希望采用这种特殊的解决方案。向他们征求关于仍能实现您的需求的改进建议


例如,如果要在批处理作业中执行此存储过程一百万次,并动态分配文件、打开文件、读取文件内容、关闭文件,然后为每次执行取消分配它—这不太可能执行得很好,并且可能对使用DB2存储过程的其他应用程序产生不利影响。也许将文件内容存储在DB2表中是一个更好的解决方案-我不能说,因为我不知道您的业务需求或应用程序其余部分的上下文,我只是举个例子。

说得很好。首先感谢您的详细回答。我知道你对特定的体系结构策略、系统等的看法是绝对正确的。我“简单地”试图抽象这个问题,并用纯理论的方式解释它。不过,我会试试BPXWDYN,我会让你知道的。谢谢!说得很好。首先感谢你详细的回答。我知道你对特定的体系结构策略、系统等的看法是绝对正确的。我“简单地”试图抽象这个问题,并用纯理论的方式解释它。不过,我会试试BPXWDYN,我会让你知道的。谢谢!欢迎@Stackoverflow。正如你所问的问题-请-人们也会看到这个(你会得到你的第二个徽章),并假设你知道内容。一般来说:您已经尝试过一些东西,通常最好显示您迄今为止尝试过的东西的代码,这将帮助人们了解您所做的事情以及如何更好地帮助您。欢迎@Stackoverflow。正如你所问的问题-请-人们也会看到这个(你会得到你的第二个徽章),并假设你知道内容。一般来说:你已经尝试过一些东西,通常最好展示你迄今为止尝试过的东西的代码,这将帮助人们了解你做了什么,以及如何更好地帮助你。