我正在尝试公开大型机文件,以便从 COBOL 程序和 Java 中的外部程序中更动态地使用。
我的阅读表明我可以将 COBOL 配置为使用 JDBC 连接。这可能只是 JCL 中的配置,但我认为它更像是一个预处理。
我还发现 JzOS 库将提供从 JAVA 访问 VSAM 数据存储本身的权限。
所以从技术上讲,我认为这是可能的,但找不到一个帖子。我知道这将成为一个边缘案例,但我喜欢 Calcite 将这些作为标准 JDBC 对象公开的想法。
想法?问题 ?担忧?
我正在尝试公开大型机文件,以便从 COBOL 程序和 Java 中的外部程序中更动态地使用。
我的阅读表明我可以将 COBOL 配置为使用 JDBC 连接。这可能只是 JCL 中的配置,但我认为它更像是一个预处理。
我还发现 JzOS 库将提供从 JAVA 访问 VSAM 数据存储本身的权限。
所以从技术上讲,我认为这是可能的,但找不到一个帖子。我知道这将成为一个边缘案例,但我喜欢 Calcite 将这些作为标准 JDBC 对象公开的想法。
想法?问题 ?担忧?
请理解两者之间存在很大差异...
这是三个非常不同的东西。我们中的一些人的生活经历使我们不愿回答有关技术上可行的问题,而没有提及您的商店中允许的内容或正在解决的实际业务需求。
大型机已经存在了半个多世纪,许多商店都有针对技术问题的标准解决方案。有时解决方案是“不要那样做,这就是我们要做的”。违背技术人员的建议或车间标准工作是职业限制。
好的,样板文件不碍事。
VSAM 不是 DBMS。它具有 DBMS 的一些特性,但它本身并不是一个特性。
共享要求可能会让您头疼。VSAM 文件使用 SHAREOPTIONS 参数定义,该参数指示可以同时读取和写入的进程数。请记住,自由定义这些意味着每个应用程序必须控制写入的序列化,并且所有应用程序共同负责数据完整性。
考虑到应用程序将由不了解其他应用程序读取/写入这些 VSAM 数据集的人在您的控制和知识之外编写。
我会通过 Web 服务提供访问来解决这个问题。不是简单的 CRUD,而是 SOA 风格的业务特定功能。CICS 是您的朋友。
考虑在大型机上使用 DBMS 而不是 VSAM 文件。
请尽量避免平台内效应。
此外,此问答可能会引起人们的兴趣。
Rocket Software 有一个数据虚拟化产品,它通过 JDBC 公开平面文件、VSAM、IMS 数据库。IIRC,您还可以使用 MongoDB 有线协议访问大型机数据源。我认为您可以免费使用它,但必须为支持付费,但这可能仅适用于在 z/OS 上与 Apache Spark 一起使用时。