从Java读取COBOL数据结构

问题描述 投票:21回答:8

是否可以在Java程序中读取COBOL数据?更具体地说,我遇到以下情况:

我有一个固定长度的数据记录文件。数据定义作为COBOL抄写本完成。我想到一个考虑了抄写本并且能够读取这些记录的图书馆。

理想情况下,应该可以根据抄写本信息生成基本的Java类和结构。在随后的步骤中,将解析数据记录并将数据填充到那些生成的类的对象中。

您知道提供这种功能的图书馆吗?或任何其他技术来解决读取COBOL数据的问题?


有一些提供此功能的商业工具。但是,它们非常昂贵。您是否知道任何开源替代方案或不同工具的组合来提供全部功能?例如,cb2xml读取抄写本结构并将其转换为XML。后面的步骤将是基于cb2xml XML信息生成记录读取器。或使用可配置的记录读取器。您知道COBOL记录读取器(解码器)吗?

java data-structures cobol copybook
8个回答
20
投票

您可以查看JRecordcb2java。两者都允许您访问COBOL文件,但都不会生成完整的类。


2011年1月更新

自原始答案以来:

  • JRecord继续开发。现在JRecord Code generator可作为独立程序使用,也可以在Recordeditor中使用。此Code Generator将通过COBOL抄写簿构建JRecord JRecord代码。参见RecordEditor Jrecord CodeGen
  • cb2java上的开发已停止
  • cobol2j已被写入。一年没有任何更新。
  • 也有Legstar几年没有发表任何东西了>>
  • 2017年8月更新

RecordEditor具有用于生成Java / JRecord代码的Generate选项从COBOL抄写本。有关详细信息,请参见RecordEditor Code Generation notes

2018年1月更新

在此问题/答案中有一些有关生成Java〜JRecord代码的信息:

How do you generate java~jrecord code for a Cobol copybook


4
投票

是。我以前做过。我使用ODBC连接到COBOL文件,然后使用jdbc:odbc网桥,使用元数据信息生成类,读取数据并将其全部移植到Oracle。


2
投票

似乎有一些commercial solutions。或者,您可以使用cb2xml将抄写本转换为XML,然后使用所需的任何机制将XML导入Java。


2
投票

我已经为我的项目使用Bruce的JRecord(来自sourceforge)包。仅仅花了几天的时间就学会了使用它,并为我自己节省了几个月的工作时间,从而推出了一个不太通用的解决方案。我强烈推荐。


1
投票

Microfocus提供了一种从Java调用OO COBOL的方法。


1
投票

BEA曾经有一个名为JAM的产品,该产品用于与大型机COBOL程序进行通信。它包括一个工具,该工具可以读取抄写本并生成相应的Java POD类和数据转换代码。


1
投票

Rational Application Developer可以读取COBOL源代码并生成Java类。生成的类具有用于访问COBOL数据结构各个部分的方法。生成的类与J2EE Connector Architecture兼容。要在您的项目中创建一个类,请选择File,New,Other,然后选择J2C下的CICS / IMS Java Data Binding向导。点击下一步。选择COBOL到Java进行映射。选择您的COBOL文件。选择您想要为其生成Java类的结构,然后单击Finish,然后进入。当然,您可以沿我没有提到的方式选择许多选项。有关更多信息,请搜索J2C的帮助。


1
投票
© www.soinside.com 2019 - 2024. All rights reserved.