Question Progress to MySQL

camay123

New Member
Good Day,

A client of mine, as a WinNT4 box with a Progress database running on it.

I do have access to box, engine seems running, licence included, however, they want me to develop a MySQL/PHP interface so they can quickly search the data, instead of using a WinNT terminal box to access this data in a slow and painfull process.

My goal would be to dump/convert the data to a mysql format, so I can develop a web interface.

But, I have no idea how to navigate in this WinNt4 environment when it comes to Progress and data dumping.

EDIT: Progress Version V8.2B NT Service control Applet is up and running

I figured one of you guys, might be able to help.

Cheers!
 

TomBascom

Curmudgeon
Why not upgrade to a more or less up to date version of Progress and use the ODBC/JDBC drivers to access the data?

Progress v8.2 is 20 years old. Ancient, obsolete and unsupported. Kind of like Windows NT. It is unlikely that it is going to play well with anything reasonably modern.

Does the customer have the Progress source? (It is very common for this to be true.) Can they compile it? (That largely depends on the licenses -- the "showcfg" command would answer that question.) Are they current on their maintenance plan (they are running 20 year old software -- something tells me that "penny wise and pound foolish" might be a theme...) If all 3 questions can be answered "yes" then upgrading to OpenEdge 11 is simple, straight-forward and should cost almost nothing. It would also unlock a whole lot of solutions to fixing the "slow and painful process".
 

camay123

New Member
Good day,

As you probably expected, this is a stale database, no more update to it, and they had forgotten about the data in it. (but certain legal requirements keeps them from abandonning it) These are not IT people so, they didnt think it was important other then having a backup and check it once a year kinda client.

For the 3 questions, I would say "no, yes, no" without even being certain.

A showcfg command tells me (some data are changed for posting public):

Configuration File : C:\DLC\PROGRESS.CFG

Company Name: ABC Corp inc.

Product Name: Wordgroup Database
Installation Date: Fri Mar 23 11:51:02 2001
User Limit: 12
Expiration Date: None
Serial Number: 123456789
Control Numbers: Z3DXX - XWSQF - 3ME?P
Version number: 8.2B
Machine Class: KB
Port Number: 31

Anything more I could check for this ? I really appreciate your time;
 

TomBascom

Curmudgeon
That's a shame.

If it is truly just sitting around doing nothing (no active users, no updates) then you're probably right, upgrading isn't very likely.

Unfortunately you also only have a "workgroup" license shown. Which makes extracting the data difficult.

Are there also client licenses somewhere? Perhaps installed on a different machine that is used to connect to that server and occasionally pull some data from it? Ideally a client license with the "4gl development" option would be found somewhere.

How large is the db? The worst case scenario is that with workgroup only, you could dump the definitions and then binary dump the table data. Zip that up and find someone willing to load it into a newer release with flexible enough licenses to dump the data back out in a usable format. You might get lucky and find someone willing to do all of that for kicks and giggles but, in my case anyway, I'd have to charge for that much time and effort.
 

camay123

New Member
I got on a WindowsNT terminal which act as the client. A showcfg gave me:

Configuration File : C:\DLC\PROGRESS.CFG

Company Name: XYZ Corp inc.

Product Name: ProVision
Installation Date: Fri Mar 23 11:51:02 2001
User Limit: 1
Expiration Date: None
Serial Number: 123456789
Control Numbers: Z3DXX - XWSQF - 3ME?P
Version number: 8.0A
Machine Class: KB
Port Number: 6
Same box as a Probuild/4gl folder in it under c:/dlc/bin, is that the 4GL development you are refering to ?

I found on the client; User Interface Builder which seems to be able to interact with a db byt the looks of the tools section.

Edit 2: I got into a Data Administration utility; which as a menu bar with:

Database; Admin; DataServer; Utilities; PRO/SQL; Tools; Help

The PRO/SQL as a view report, a dump as create view and dump as create table.

This seems promising, no ?
 
Last edited:

RealHeavyDude

Well-Known Member
The ProVision product, as it was called back then, is a full-blown development product which includes everything that was available back then - which includes the data administration tool that you need to dump and load the data.

Heavy Regards, RealHeavyDude.
 

TomBascom

Curmudgeon
Edit 2: I got into a Data Administration utility; which as a menu bar with:

Database; Admin; DataServer; Utilities; PRO/SQL; Tools; Help

The PRO/SQL as a view report, a dump as create view and dump as create table.

This seems promising, no ?
Bingo!

That's what you need. You should be able to get a dump of all the data using those tools.
 

camay123

New Member
Ok to make sure:

Under Pro/SQL do select ALL tables, uncheck the "Use PROGRESS-Specific SQL" and choose ";" as the Statement Terminator.

This will create 2 files: db.p for the CREATE Table and db.i for CREATE index file, what about the data ?

Am I missing something ?
 

TomBascom

Curmudgeon
I don't do SQL ;) I'd give it a shot and see what happens.
 

TheMadDBA

Active Member
In that old of a version you are probably going to need to just use the dictionary dump... ascii dump into files with quoted character fields and space delimited. You are going to need to do a fair amount of conversion of the data since Progress is not a SQL database (even in modern versions).

Easiest way is to load all of the data into character/varchar column based tables and then convert them into the proper SQL designed tables. Just copying the exact Progress table structures probably isn't going to end well.
 
Top