可能将COBOL VISION数据库导出为逗号分隔的.csv?

问题描述:

我们有一个基于AcuCobol和视觉文件的系统。可能将COBOL VISION数据库导出为逗号分隔的.csv?

我们需要将整个数据文件转储到基于txt的文件中以导入到sql服务器。

我们现在正在使用vutil转储数据,但它创建了一个固定宽度的文件,我们希望它是某种分隔文件。我们使用的是现在的命令是这样的:

vutil -unload -t的资源文件destinationfile

现在没有任何人有任何这方面的experiance,如果是这样,这将是我们的最佳工具?

我会做什么来完成这项工作是这样的:

卸载你的表有JCL到文件中。 批量使用此文件, ,其中的表格描述符与(例如:如果您的表有3列[ID],[NAME]和[ADDRESS],然后创建一个具有以下内容的副本CC-1:

O1 CC-1 
    05 ID PIC X (16). 
    05 NAME PIC X (35). 
    05 ADDRESS PIC X (35). 

对于每个线移动线进副本CC-1。

创建第二个拷贝CC-2

O1 CC-2 
    05 ID PIC X (16). 
    05 FILLER PIC X VALUE ';'. 
    05 NAME PIC X (35). 
    05 FILLER PIC X VALUE ';'. 
    05 ADDRESS PIC X (35). 
    05 FILLER PIC X VALUE ';'. 

执行对应CC-1至CC-2移动 写入输出。 这为每一行。您可以在输出中获得所有数据的CSV文件。

您可以重新使用批处理和JCL,只需更改记录的大小和副本的描述以匹配要卸载的表。

洒脱。 :)

+0

嗨汤姆,感谢您的输入!这听起来对我来说是个好主意,但问题在于我对Cobol一无所知。目前,我一直在玩下一个试用版。不幸的是,您需要某种附加许可才能使用其应用程序访问.vix文件。我认为这是一种cobol odbc许可证。所以这将是$ 400 +许可证。呃,我希望我说Cobol! –

+0

抱歉,无法为您提供更多帮助... – Tom

谷歌是你的朋友...我做了一个快速搜索,并提出了NextForm声称将视觉转换为CSV(和其他格式)。

从“细则”看来,您可以下载试用版,但必须获得约400.00美元才能获得行货版本(不会丢弃随机记录)。

我对这个产品绝对没有经验,所以不能告诉你它是否真的做这个工作。

编辑

有时更高效地使用,而不是对旧系统的斗争工作。您是否看过AcuODBC?这让Windows程序读取/导入 Vision文件。您可以使用它从任何支持Windows ODBC的应用程序访问Vision文件。我相信你可能需要编译一个数据字典来完成这个工作,但是它可以在你所在的位置和你想要的位置之间架起一座桥梁。

另一种方法可能是在AcuCobol中编写自己的转储程序。阅读一条记录,格式和 写它。只要文件 没有复杂的结构(例如,在同一个文件中有多个记录类型/布局,或者在单个记录中重复字段),编写这种复杂性的Cobol程序应该不会太具有挑战性。

如果需要将单个Vision文件后处理到多个SQL Server表中,那么您的任务将显着更复杂。不幸的是,复杂的转换相当于Cobol传统系统 的共同 ,因为它们倾向于使用丰富/复杂/非规范化文件结构(与SQL最适合 标准化表格数据)。

如果视觉文件比较复杂,单一SQL Server表,那么也许你可以考虑使用 AcuXML Interface 转储文件转换成XML,然后使用XSLT处理器创建CSV或任何其他格式,你 需要从那里。这将允许您使用相当复杂的Cobol记录结构。 这种方法再次意味着写一些相当基本的AcuCOBOL字体结束程序。

根据你对我原来的帖子的评论,你不是一个顽固的Cobol程序员。也许这应该是 与您的店铺中具有语言和 环境的工作知识的人合作,然后再进一步推进此任务。我有一种感觉,这个任务比“转储和装载”要复杂一些。

+0

非常感谢您的意见,我一直在iri网站上,并确实看到了netform。但为了获得演示,您必须通过某种注册流程注册。到目前为止,它看起来是唯一真正的选择,所以这就是我在这里发布的原因。 Darn,Cobol是一种ooooolllldddd商业编程语言。我试图将这些由我们的商店pos系统使用的旧数据库文件转换为更现代的格式,以便我们可以在线显示商店数据。似乎是一个艰难的任务,当与这个旧的传统垃圾:) –