第四十一章 开发Productions - ObjectScript Productions - 使用记录映射器
以下两篇文章描述了复杂记录映射,其中单个记录由一组异构子记录组成,以及批处理,其中多个记录被分组以在批处理中进行处理:
- 使用复杂记录映射器
- 高效处理批量记录
概述
Record Mapper
工具提供了一种快速、高效的方法来将文本文件中的数据映射到持久性production
消息,然后再映射回来。特别是,管理门户用户界面允许直观地创建文本文件的表示,并创建该数据的有效对象表示,该数据映射到单个持久性production
消息对象。生成目标对象结构和输入/输出解析器的过程是自动化的,只为对象投影的持久结构留下几个选项。 IRIS
以单个持久树的方式生成对象,以提供完整的级联删除操作。
管理门户还提供 CSV
向导,帮助将 CSV
(逗号分隔值)文件转换为记录映射结构。这对于包含列标题的文件特别有用,因为向导使用标题名称来创建与示例文件中的列相对应的记录映射属性。
记录映射器处理带分隔符或具有固定宽度字段的简单记录。记录映射由标识记录中的数据的一系列字段和将字段组织成一个单元的组合组成。在分隔记录中,组合的层次结构级别指定在字段之间使用的分隔符。在带分隔符的记录中,可以包含重复的简单字段。不能有重复的复合体。可以选择忽略传入文本文件中的任何字段,以便它们不会浪费存储记录中的空间。
Record Mapper
不能处理定界数据和固定宽度数据的混合,除了处理重复的简单字段外,它也不能根据传入记录的内容动态调整其解析器或对象结构。
Complex Record Mapper
允许处理包含不同记录类型的结构化记录,包括处理具有重复记录和混合分隔和固定字段记录的结构的能力。
Record Mapper
包的一个附加功能允许通过在实现从 EnsLib.RecordMap.Batch
继承的类来批处理异构记录。此类处理解析和写出与特定批次关联的任何标头和尾部。对于简单的标题和尾部,Record Mapper
用户界面允许在创建 EnsLib.RecordMap.SimpleBatch
类型的批次。如果需要处理更复杂的标头和尾数据,可以扩展这两个批处理实现中的任何一个。
当 RecordMap
批处理操作从单个记录创建批处理时,它将部分构建的批处理存储在中间文件中。可以在批处理操作中使用 IntermediateFilePath
属性指定此文件的位置。在镜像系统上,可以将中间文件存储在主系统和故障转移系统都可以访问的网络驱动器上。然后,如果发生故障转移,故障转移系统可以继续将记录附加到不完整的批次。由于不完整的批次存储在文件中而不是 IRIS
数据库中,因此不会自动复制到镜像系统。
创建和编辑记录映射
介绍
可以使用管理门户的记录映射器页面创建记录映射。如果文件是带分隔符的文件,还可以使用 CSV
记录向导进一步自动化该过程。在开发记录地图时,可以查看样本文件在记录地图中的显示方式。
重要提示:重新生成记录映射(包括 CSVRecord
映射)会丢弃对生成代码的手动修改。为了帮助指导这一原则,生成的解析器类方法(GetObject
、PutObject
、GetRecord
、PutRecord
)明确标有“请勿编辑”注释。
Record Mapper
页面包括记录映射结构的可视化表示,以及允许输入和操作可用于记录映射组件的更详细设置的简单界面。它还允许重新定位兄弟元素(同一级别的元素)。用户界面的一个更重要的功能是,如果有一个示例输入文件,则在保存当前记录映射时将尝试对该文件进行示例分析。可以直接从管理门户解决记录地图中的小问题。
还可以直接使用 XML
和模型类创建记录映射。
Getting Started
要启动 Record Mapper
,请选择 Interoperability > Build > Record Mapper。从这里,可以执行以下命令:
-
Open
打开 - 显示查找器对话框,供选择要打开以进行编辑的现有记录映射。 -
New
— 初始化页面以供输入新的记录映射结构。 -
Save
保存 - 将记录映射结构保存为您正在工作的名称空间中的类。保存后,对象会出现在记录映射列表中。 -
Save As
另存为 — 将记录映射结构另存为正在使用的名称空间中的新类。保存后,对象会出现在记录映射列表中。 -
Generate
生成——生成记录映射解析器代码和相关的持久消息记录类对象。
要手动生成对象,请使用 EnsLib.RecordMap.Generator
中的 GenerateObject()
类方法。如该方法的注释中所述,它允许有关生成对象的持久结构的许多选项。
-
Delete
删除 — 删除当前记录映射。可以选择删除相关的持久消息记录类和类的所有存储实例。 -
CSV
向导 — 打开CSV
记录向导以帮助自动执行从包含逗号分隔值 (CSV) 的示例文件创建记录映射的过程。
重要提示:保存操作仅将当前记录映射写入磁盘。相反,Generate
操作为底层对象生成解析器代码和持久对象结构。
当在页面左侧选择记录映射的名称时,会在右侧看到记录设置,可以在其中编辑记录映射本身的属性。在保存记录映射之前,必须至少向记录映射添加一个字段。以下部分描述了这些过程:
创建新的记录映射或打开现有记录映射后,记录映射器会在左侧面板上显示记录映射中定义的字段的摘要,并在右侧面板上允许设置记录映射的属性或所选字段的。如果您指定了样本数据文件,它会显示在左侧面板上方。例如,下图显示了右侧面板中具有记录映射属性的记录映射器:
![](https://img.haomeiwen.com/i2596900/e44b9c4ee0bb41bc.png)
要导出、导入或删除记录映射,请单击互操作性、列表和记录映射以显示记录映射列表页面。
网友评论