将RMS迁移到RDB

扫码查看
本文介绍了将RMS迁移到RDB的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在将旧的OpenVMS RMS文件迁移到关系数据库中(MS SQL 2012和Oracle 10g均可用).我想知道是否有:

We're approaching the migration of legacy OpenVMS RMS files into relational database (both MS SQL 2012 and Oracle 10g are available).I wonder if there are:

  • 检索索引文件架构的工具
  • 解析索引文件的工具
  • 用于处理自定义RMS数据格式(带小数的区域等)的工具作为捆绑包/API/库也许我应该改变方法?
  • Tools to retrieve schema of indexed files
  • Tools to parse indexed files
  • Tools to deal with custom RMS data formats (zoned decimals etc)as a bundle/API/LibraryPerhaps I should change the approach?

推荐答案

有几种可用的工具,尤其是通过ODBC供应商提供的工具(我为其中一个工作:Attunity).

There are several tools available, notably through ODBC vendors (I work for one: Attunity).

1 >>检索索引文件架构的工具

1 >> Tools to retrieve schema of indexed files

请澄清.仅在文件中查找记录/列布局和索引,或者在文件之间查找关系.

Please clarify. Looking for just record/column layout and indexes within the files or also relationships between files.

1a)当前如何使用文件? Cobol,Basic,Fortran程序?数据检索?他们将使用某种数据定义方法,因此您需要一个可以利用它的工具.Connx和Attunity Connect可以导入" CDD定义,BASIC-MAP文件,Cobol抄写本.通常也会涵盖变体.我已经写了很多(perl/awk)脚本来将特殊定义转换为XML.

1a) How are the files currently being used? Cobol, Basic, Fortran programs? Datatrieve?They will be using some data definition method, so you want a tool which can exploit that.Connx, and Attunity Connect can 'import' CDD definitions, BASIC - MAP files, Cobol Copybooks. Variants are typically covered as well. I have written many a (perl/awk) script to convert special definition to XML.

1b)分析/RMS或调用RMS XAB的程序可以获取可用的索引信息. Atunity connect会知道如何将这些映射到1a)的字段中

1b ) Analyze/RMS, or a program with calling RMS XAB's can get available index information. Atunity connect will know how to map those onto the fields from 1a)

1c)OpenVMS上的(索引)文件之间没有正式的存储关系.这就是程序逻辑中的全部内容.但是,某些适度智能的Perl/Awk/DCL脚本通常可以通过查看文件名和数据类型匹配来生成可能的外键/主键的表.

1c ) There is no formal, stored, relationship between (indexed) files on OpenVMS. That's all in the program logic. However, some modestly smart Perl/Awk/DCL script can often generate a tablem of likely foreign/primary keys by looking at filed names and datatypes matches.

我们正在谈论多少文件/布局/千兆字节?

How many files / layouts / gigabytes are we talking about?

2 >>解析索引文件的工具

2 >> Tools to parse indexed files

请澄清?一旦知道了结构(问题1),就可以通过使用该结构进行读取来进行解析,对吗?您永远都不想了解索引文件的内部结构.只需告诉RMS提取记录即可.

Please clarify? Once the structure is known (question 1), the parsing is done by reading using that structure right? You never ever want to understand the indexed file internals. Just tell RMS to fetch records.

3 >>以bundle/API/Library形式处理自定义RMS数据格式(带小数的区域等)的工具

3 >> Tools to deal with custom RMS data formats (zoned decimals etc) as a bundle/API/Library

请再次说明.一旦知道了结构,就可以使用正确的"工具阅读该结构,并且肯定会遵循详细的数据定义.

Again, please clarify. Once the structure is known just use the 'right' tool to read using that structure and surely it will honor the detailed data definitions.

著名的遗言...很简单".在一般情况下,整个公司已经建立并蓬勃发展.我承认,在特定情况下,这可能相对简单,但细节决定成败".

Famous last words... 'quite simple'. Entire companies have been build and thrive doing just that for general cases. I admit that for specific cases it can be relatively straightforward, but 'the devil is in the details'.

在Attunity Connect案例中,我们有一个UDT(用户定义的数据类型)来处理奇数"案例,通常涉及DATES.以xxx为单位的整数,字符串形式的日期都是开箱即用的,例如,某些具有-1的含义是某个高日期",需要一些帮助才能存储在数据库中.

In the Attunity Connect case we have a UDT (User Defined data Type) to handle the 'odd' cases, often involving DATES. Dates in integers, in strings, as units since xxx are all available out of the box, but for example some have -1 meaning 'some high date' which needs some help to be stored in a DB.

所有数据库都有一些大容量加载工具(BCP,SQL $ LOADER).只要您可以提供符合期望值的数据(表格,逗号分隔,引用或不引用,转义或不引用),您都应该处于良好状态.

All the databases have some bulk load tool (BCP, SQL$LOADER).As long as you can deliver data conforming to what those expect (tabular, comma-seperated, quoted-or-not, escapes-or-not) you should be in good shape.

EGH工具Vselect可能是一种便捷且高性能的方式,用于批量读取索引文件,过滤和格式化某些文件以及吐出顺序文件以供DB装载程序使用.它可以比RMS更快地读取RMS索引文件! (尽管它有自己的元数据语言!)

The EGH tool Vselect may be a handy, and high performance, way to bulk read indexed files, filter and format some and spit out sequential files for the DB loaders. It can read RMS indexed file faster than RMS can! (It has its own metadata language though!)

Attunity提供完整的访问和复制服务.它们包括CDC(更改数据捕获),不仅可以加载数据,而且还可以近实时地更新数据.这对于进化"与革命"很有用.签出Attunity'Replicate'.有了数据字典后,只需指向所需的表(包括,排除过滤器),指向目标数据库,然后单击以进行复制.当然,(全局或每表)转换有一些选项(例如将AREA-CODE + EXHANGE + NUMBER转换为单个电话号码,或添加修改后的日期列).

Attunity offers full access and replication services.They include a CDC (change data capture) to not a only load the data, but to also keep it up to date in near-real-time. That's useful for 'evolution' versus 'revolution'.Check out Attunity 'Replicate'. Once you have a data dictionary, just point to the tables desired (include, exlude filters), point to a target DB and click to replicate. Of course there are options for (global or per-table) transformations (like an AREA-CODE+EXHANGE+NUMBER to single phone number, or adding a modified date columns ).

这将是一次大的转换,还是希望迁移数据并使旧系统保持数天,数月甚至数年的生命,从而始终保持数据的紧密同步?

Will this be a single big switch conversion, or is there desire to migrate the data and keep the old systems alive for days, months, years perhaps, all along keeping the data in close sync?

希望这对某些人有帮助,海因·范·登·赫维尔(Hein van den Heuvel).

Hope this helps some,Hein van den Heuvel.

这篇关于将RMS迁移到RDB的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 07:52
查看更多