回答
最简单的方法是导出到固定格式的访问。这是Cobol文件数据描述的原生格式。
但是,如果访问不支持此操作,则可以导出为CSV(逗号分隔值)文件或TSV(选项卡分隔值)。 Cobol以其ANSI形式不支持这一点,但使用简单的Unstring进行解析非常容易。例如:
Perform Read-A-Record
Perform until End-Of-File
Unstring Input-Record
delimited by ","
into Column-1-Field
Column-2-Field
...
Column-n-Field
Perform Read-A-Record
End-Perform
请小心......当导出数据值时,使用UNSTRING解析CSV文件有点困难可能包含逗号和/或引号。例如:**“1,200”**是一个包含逗号的数字。并且:**“我的”“名字”“,在这里”**是包含引号和逗号的文本字符串。解析这些与UNSTRING是好多很多“有趣” – NealB 2011-02-23 17:47:45
固定格式肯定是要走的路,任何Cobol都可以读取固定格式文件。
一个简单的方法来创建任何SQL方言固定格式文件(甲骨文,DB2,H2等)是使用SQL字符串函数创建一个单一的领域和出口/这个查询写入文件
MS访问示例查询:
SELECT Left(Str([TblId])+Space(8),8)
+ Left(Str([tblkey])+Space(20),20)
+ Left([Details]+Space(30),30)
+ "<" AS ExportString
FROM Tbl_TI_IntTbls;
COBOL的这将是最好右对齐填零和对齐小数点数字领域。
此外,如果这一关你 可以在访问中运行查询复制/粘贴输出到文本编辑器。
Ms Access还允许您定义固定格式并使用它们来输入(导出?),但是从我使用它们开始(我正在使用它们导入固定宽度数据)已经很长时间了。我将把这个讨论留给访问专家。
你也可以看看RecordEditor(http://record-editor.sourceforge.net/Record11.htm)/ JRecord(http://jrecord.sourceforge.net/),因为
- 两个让你查看/编辑使用一个COBOL习字文件 - 有用 检查出口比赛的的Cobol的定义
- 两者有字帖分析选项 (文件菜单),将计算在一个COBOL 领域的 启动/长度Copybook
- 两者都有副本 功能,将到/从一个COBOL文件使用一个COBOL 字帖复制一个CSV文件
注:这是我的软件无耻插头
我会避免界定文件(如果分隔符出现在一个字段中),但是如果你必须使用一个obskure字符,例如'or〜or^
访问可以通过导出向导或简单的VB6程序或脚本导出为固定字段格式可以使用Jet OLEDB Pro做同样的事情vider和Jet的文本IISAM,以及定义输出格式的Schema.ini文件。
有格式限制(没有签名包装的十进制格式或其他Cobol exotica),但通常这应该足以创建大多数Cobol变体支持的文件。如果您确实必须将数字字段填充为零,则可以使用Jet SQL表达式服务执行此操作,该服务允许内联使用VBA函数的子集,并在Schema.ini文件中将结果字段定义为文本。
如果您确实需要导出到某种ISAM文件,最好的办法是编写一个中间Cobol程序来导入保存的字段字段文本数据。一些Cobol产品甚至可能包括公用事业公司进行这种进口。
- 1. 从VB .NET访问DLL
- 2. Xcode 6访问UIAiewlication从UIViewController
- 3. 访问97从VB创建对象
- 4. 受MsgBox影响的VB 6数据访问
- 5. 访问Visual Studio 2008中的VB 6项目
- 6. Vb 6 listview substring_index
- 7. Silverlight/VB 6集成
- 8. 从COBOL转换到C++
- 9. VB 6连接到Web服务
- 10. 如何从COBOL中的字符串访问单个字符?
- 11. VB脚本,并访问
- 12. SQL或VB进行访问
- 13. VB访问冲突错误
- 14. 从VB调用受管DLL的问题6代码
- 15. 转换代码vb 6到vb.net
- 16. 如何将参数从CICS-COBOL传递到COBOL-DB2程序
- 17. 问题从VB .NET
- 18. 如何显示图像Blob从Postgres到VB 6?
- 19. 退出VB 6崩溃
- 20. 访问VB - Shell字符串问题
- 21. COBOL问题转移到comp-3变量
- 22. 无法访问MVC 6 API
- 23. Drools 6 - 访问ObjectInsertedEvent的LHS
- 24. Java 6中的VB支持?
- 25. 线程在VB 6中!
- 26. 加载VB 6形式
- 27. 水晶报表10用VB 6
- 28. 从xml映射到cobol字段
- 29. 用于VB的.NET类型库6
- 30. VB 6上的局域网编程
你需要说哪种COBOL。 – 2011-02-23 15:55:31
不知道我明白这一点 - 访问数据是数据,而COBOL代码是代码。 如果您尝试将VB6代码转换为COBOL,那是一个编程挑战。我不确定是否存在自动转换器,但实际上重写代码可能并不那么困难。代码运行的数据将是另一回事。 请你给我们更多的细节吗? – TrueDub 2011-02-23 15:57:52
我试图导出一些访问数据到一个复制Cobol格式文件。这个将由第三部分软件解析(我不知道这个SW会做什么)。如果有一些“自动导出软件”存在,我正在游荡;现在我试图用VB脚本来做到这一点,但.. **是一种程序语言:-) ** – alesdario 2011-03-06 17:16:09