Where and how can I download Progress v9.1 database?

alif

New Member
Hello all,

Although I am not new to DBs I am to progress.

Could you please tell me how I could obtain a DB instance of Progress v9.1 on my machine? Is it opensource? (free?)

Also, does anyone have a doc containing SQL syntax? How different is it to standard SQL?

What's the best way of extracting data from Progress v9.1 ? (Unix and Windows)

Thanks in advance

Alif
 

TomBascom

Curmudgeon
Version 9 is ancient, obsolete and unsupported. It was designed in the 90s and the initial release was in 1999. The last release (9.1e service pack 4) was in 2004. Version 9 does not support many things that you might hope to do in a modern environment because those things either did not exist or were in a very primitive state when version 9 was created. The current release is OpenEdge 10.2B. ("OpenEdge" is a rebranding of "Progress" as of version 10).

Progress is not Open Source. It is produced by and licensed from Progress Software Corporation -- http://progress.com.

The Progress database engine supports two "languages" -- the traditional Progress 4GL (known as "ABL" in OpenEdge) and SQL-92. SQL is usually used via ODBC/JDBC for reporting tools. Applications are usually written with the ABL.

The best way to extract data depends on what you are doing and why you are doing it.
 

alif

New Member
Many thanks for reply Tom.

I didnt realise it was so old. I'm assuming it is the most recent of the version 9 releases / service packs. How is SQL used to interrogate the DB directly (what's the interface or management studio equivalent?) or can this only be done using an ODBC connection?

I need to extract all the data from a Progress DB into flat files (say one file per a table) and probably import into another DB e.g. SQL server using the same DB table structure. I've read about using ODBC but how would I do this by extracting first and then loading?

Many thanks for your help on this.

Alif
 

TomBascom

Curmudgeon
The easiest way to extract all of data from a Progress db in the format that you describe (1 file per table) is to use the "data administration" menu to dump the data. For UNIX, assuming that the db server is up & running "mpro dbname -p dict.p" will bring you to the top level menu, select "Admin" and then "Dump".

Of course that is too easy. The first problem that you are likely to have is that the person you are doing this for probably has a runtime only license. Which means that that menu option will not be active and you will need someone who has such licenses to help you out. From a UNIX command line type "showcfg" to see what sort of licenses you have available.

You said in your first post "UNIX and Windows". Does that mean that you need to do this more than once and in more than one environment? If so then you probably want a more robust scripted solution.
 

alif

New Member
Could I not use a SQL query i.e. a select statement and spool to a flat file?

Do you have a document or some resource showing the various progress commands?

e.g. - how would I view full list of tables in the DB e.g. like an alltables view?
- view records in a specific table?

What if there is only runtime license, what are other options? Can a full backup be performed? just like a sql server .bak file.
Is setting up an ODBC connection easier to obtain full dump (e.g. to sql server)?

Just thought it would be intresting so see how it differs on windows.

Thanks

Alif
 

TomBascom

Curmudgeon
If you want to try to use SQL you could try running $DLC/bin/sqlexp. (Good luck with that.)

If you have a runtime license then you can only run pre-compiled code. You cannot run data administration to dump data because it compiles on the fly.

Progress has all of its documentation online at Progress.com.

With version 9 you could run pre-compiled code that contains dynamic queries that will dump the data -- but that isn't included "in the box". If you hunt around somebody may have posted a general purpose tool in one of these forums.

Yes, you can backup the db regardless of license.

Setting up ODBC is not easier.
 

alif

New Member
Really appreciate your advice Tom.

If I have a development license (Unix), just to clarify, the steps I would need to take a full extract of the data would be to run the following command: mpro dbname -p dict.p which will bring up the top level menu, then I select "Admin" and then "Dump". Is that correct? What will it dump the data as and where? a single backup file of the db? or seperate flat files for each table?

How can I obtain the schema for each table i.e. to rerun on another Progress DB as a script?

Many Thanks

Alif
 

StuartT

Member
Hi alif,

When you select dump, you are given the oprion of dumping data either for a specific table or for all tables.
If you select all, you will get a separate dump file for each table a progress dump file has a filename ending in .d
within the dictionary, there is also an option to view schemas
 

alif

New Member
So I take it the result of the dump is not a flat file(s)? Can this data dump be imported into a windows version of Profress DB?

Thanks

Alif
 

TomBascom

Curmudgeon
The .d files that the dictionary dump produces are indeed "flat files". One line per record. Space separated quoted text. Like so:
Code:
123 "abc" 45.78 "this is some more text"
999 "xyz" 0.01 "this is some text containing a "" quote"

It is designed to be portable and intended for loading into another Progress database.

There is a "trailer" at the end of the file summarizing statistics and such which can be removed or ignored.
 

alif

New Member
Thats great.

Silly question, but do I run the mpro dbname -p dict.p command from the Unix session?

What's the easiest way to pull the dumped data from the unix box (which i assume to be remote) to my local machine? FTP?

Other than that I think all my questions have been answered (for now anyway!).

Thanks

Alif
 

alif

New Member
Actually just remembered another question in addition to above:

How do I obtain the data dictionaries? What's the command?

Thanks

Alif
 

alif

New Member
I've obtained the .d files and the .df file.

What's the easiest way of creating a database and importing the data files into progress db on windows platform.

Thanks

Alif
 

TomBascom

Curmudgeon
To create a new db use the "prodb" command. It will ask you for a source db name (usually "empty") and a target dbname (whatever you want). Then you use the data dictionary to load the .df and the .d files -- you're just reversing the process that you used to dump them.
 

alif

New Member
I have literally just run setup and completed installation (not done anything else).

I've created a DB (empty).

I then open data dictionary....what option in menu do I use to load in the .d and .df files (its not obvious).

Thanks

Alif
 

alif

New Member
I just looked at the help section and it says i need to use 'data administrator' to load the data. It says to use the ADMIN menu but for some reason its greyed out (even though ive connected to my DB). Do you know why this is?

Alif
 

TomBascom

Curmudgeon
It is greyed out because you do not have a license that allows you to compile code. (The data administration tools "compile on the fly".)
 
Top