Datatrieve?

Everything about buying, using, and managing OpenVMS systems not covered by other sections.
Post Reply

Topic author
garyrevell
Active Contributor
Posts: 38
Joined: Thu Nov 19, 2020 7:15 am
Reputation: 0
Location: Basingstoke, UK
Status: Offline
Contact:

Datatrieve?

Post by garyrevell » Fri Jul 23, 2021 9:00 am

Hi all,

Whatever happened to Datatrieve? We've got a lot of RMS files (SEQ, Indexed etc) that it would be very useful to be able to dump/list in a reasonable format but without having to write lots of 3GL (Pascal/C) code in order to do it.

Are there any tools/Freeware/ODBC drivers that allow Windows users to access the data or even something that runs on OpenVMS.

Thanks

Gary

User avatar

imiller
Master
Posts: 130
Joined: Fri Jun 28, 2019 8:45 am
Reputation: 0
Location: South Tyneside, UK
Status: Offline
Contact:

Re: Datatrieve?

Post by imiller » Fri Jul 23, 2021 11:09 am

Datatrive is available from VSI https://vmssoftware.com/products/datatrieve/

Maybe DIX will do want you want. See freeware https://vmssoftware.com/community/freeware/
Ian Miller
[ personal opinion only. usual disclaimers apply. Do not taunt happy fun ball ].

User avatar

arne_v
Master
Posts: 299
Joined: Fri Apr 17, 2020 7:31 pm
Reputation: 0
Location: Rhode Island, USA
Status: Offline
Contact:

Re: Datatrieve?

Post by arne_v » Fri Jul 23, 2021 8:09 pm

Everything can read the sequential files. On VMS or Windows.

The problem must be to read the index-sequential files. Practically they can only be read on VMS.

Furthermore because VMS index-sequential files only contains meta data about key field then you will have to explicit tell what the record contains.

There are a few options for reading those files.

You can write a Pascal program with a record definition and a file of records and use VMS Pascal builtin support for index-sequential files.

You can write a C program using a C struct and RMS SYS$ calls.

Of those two options then I would go for Pascal. It will be a lot less code.

There are also more "exotic" solutions.

I have a Java library (with a tiny piece of C accessed via JNI) where one can map the index-sequential file record to a Java class and read it easy. It can be used from any JVM language (JVM Python, JVM JavaScript, Scala, Kotlin, Groovy etc.). And my library, Java and most other JVM languages are available for free.

I used it here https://www.vajhoej.dk/arne/articles/vmstd3.html to show how to convert index-sequential files to SQLite database on VMS.

You don't need to store in SQLite on VMS, so you only need half of the functionality.

Note that the library also allow for:

JVM program on Windows with library----(TCP)----utility that is part of library on VMS----index sequential file on VMS

If you prefer to do the majority of the work on Windows.

But it is for JVM languages only.
Arne
arne@vajhoej.dk
VMS user since 1986


hein
Active Contributor
Posts: 41
Joined: Fri Dec 25, 2020 5:20 pm
Reputation: 0
Status: Offline

Re: Datatrieve?

Post by hein » Sat Jul 24, 2021 4:21 pm

garyrevell wrote:
Fri Jul 23, 2021 9:00 am
Whatever happened to Datatrieve? We've got a lot of RMS files (SEQ, Indexed etc)
1) Do you have record layouts - which format(s)?
2) Just curious, or a serious business need?
3) Read on OpenVMS only (in which case indexed or not does not matter) or read on other platform after transferring?

Datatrieve was, and still is, a wonderful tool.

To make it work you'll need a CDD record definition or Cobol Copy book (if memory serves me).
What kind of dictionary do you have a available describing the data?
Some language include files like Cobol copy books? C - H files? Pascal? Basic? Fortran?

Maybe you can turn your record description module into XML or JSON and for tools on Windows or Linux after transferring data as sequential files?
( CONVERT/FDL=NL: indexed.dat sequential.dat /STAT )

DIX was mentioned and deserves a closer look. Check here: https://oooovms.dyndns.org/dix/
From the notes there:
"Interpreted. You need a record description to do this.
The description file syntax looks like fortran record definitions(structures)
and the descriptions can be in a file or in the DIX_DES.TLB text library.
The layout of the description files is described in the DIX
help library under the topic RECORD_FORMAT_FOR_DESCRIPTIONS"
Can you convert your layouts to Fortran style to feed DIX?

Personally I like the no-longer-selling old Attunity Connect which can take just about any record descriptor (cobol, basic, pascal, CDDL) and change it to XML after which it offers SQL access directly on OpenVMS or remotely with ODBC

Along the same lines you could check out the old Connect competitor ConnX (now owned by Software Ag).
https://www.connx.com/products/pdf/RMS.pdf

And how about this one? dynamic JSON OpenVMS RMS API - https://sgco.com/landing/dynamic-api/


Topic author
garyrevell
Active Contributor
Posts: 38
Joined: Thu Nov 19, 2020 7:15 am
Reputation: 0
Location: Basingstoke, UK
Status: Offline
Contact:

Re: Datatrieve?

Post by garyrevell » Mon Jul 26, 2021 9:53 am

Hi all,

Thanks for your input, I've had a quick look at DIX and will progress with this in the next few days.

Also the Java classes look a very interesting avenue to explore.

Best regards

Gary

Post Reply