data export

aroatenberry

New Member
I'm a newbie to dba, and I've been given the task of accessing data in a progress (Progress 8.3) database. We are switching to a new vendor, and they want to see the data and the format in order to export to their system. I really don't even know where to begin, so any direction would be wonderful.
 
You could get more help if you told what application you have running.

if you can get to the progress editor with the database connected, then you can select tools - data dictionary -> Admin -> Dump Data and Definitions -> Data Definitions.
Select "ALL", output to a file.

This would give you all the tables and fields within and the data type for all the fields. You could send this file to the new vendor.

HTH
 
When migrating to a new system, the usual process is for the vendor to provide you with a breakdown of what data they require and in what format they require it.
You then would have to have a good working knowledge of the current system and code data extract routines to interrogate the DB and retreive the required data which in most cases involves getting info from several DB tables and outputting to many different files as it would be unheard of for the new system to store the data in the same table structures.
You should also be aware that there WILL be information they request that you do not store currently and WILL be information on your database that they do not require.
 
Thanks again, VERY helpful information! I followed the steps to access the data dictionary, but I don't get the "Admin" menu bar item. Also, when I go into the editor, a message appears that states due to the version of progress, the data dictionary will be read only...I don't know if that is why I don't have the admin menu item?
 
You don't see the admin menu, cause of the license. If this application was setup by your previous vendor, they may have given you just the runtime version. Most of the time you would have the documentation for the application. You can also search for files ending with a .df. I wont bet on it to the be the current layout of the database, but you could always get lucky. You should also be able to get that information from your previous vendor.

HTH
 
Try starting the application adding a "-rx" in the client startup parameters. Since you were able to get into the Progress editor while connected to the database, you should be able to see the Admin option at that point using the -rx. If it's truly only run time license, I believe you can still dump the schema but not the data.
 
The -rx worked to get the admin menu item (thank you!), but export is grayed out. And when I go to Dump Data and Definitions -> Data Definitions -> table contents.d is also grayed out. Any thoughts on how I can get to that data?
 
So if it's a run time version, am I ever going to be able to export the data?

I should clarify that yes, you can export the data programatically regardless of version, only that if runtime then you cannot do it from the Admin Dump data & definitions, nor could you do it from source code. If runtime/query, I believe you can run source code to dump the data.

The way you can check on what is installed is by going to your progress installation directory , then running the bin\showcfg (Windows from a cmd command window) or bin/showcfg (*nix). It will tell you what version and type of Progress installation you have.
 
I ran the bin\showcfg (see below). So what tool (windows cmd?) and code do I use to export that data?
----------------------------------------------------
Product Name: Workgroup Database
Installation Date: Wed Sep 27 21:35:03 2006
User Limit: 12
Expiration Date: None
Serial Number: 003430584
Control Numbers: X8ARS - XQZAN - 2MCYP
Version Number: 8.3E
Machine Class: KB
Port Number: 31

Product Name: Client Networking
Installation Date: Wed Sep 27 21:35:03 2006
User Limit: 12
Expiration Date: None
Serial Number: 003430585
Control Numbers: Z8GR9 - 6PZAM - KMGYJ
Version Number: 8.3E
Machine Class: KB
Port Number: 31
 
The way Progress 4GL and the 4GL database engine works:
  • You can only run compiled 4GL code against the database. Even if you type it in the procedure editor and run it, it get's compiled on the fly temporarily.
  • In order to be able to compile you need a development license - depending on the Progress/OpenEdge version the minimum license is 4GL development.
  • If you don't have a development license then you can't dump the data in ascii format via the data dictionary tool and you can't write a program that does it because you can't compile it (one could write a program that uses the dictionary tools without the data dictionary interface - there are knowledge base entries on how to do that).
Therefore - with the lincenses shown above - you can't dump the data in ascii format unless the application provides and entry point for you.

The Progress approach behind that is, either you are an application partner and therefore have the development licenses and do this kind of tasks for your customers as a (paid, of course) service, or you are a direct end user also possessing the development license needed.

Personally, I don't like that approach a bit, but that's just MHO.



Regards, RealHeavyDude.
 
That all depends... Sorry to be so vague but there are a lot of possible approaches.

One approach that could work if the db is small, not confidential and the extract is a one time event (or just a few times) is to e-mail it to the consultant who could then dump the data and send it back (or you could arrange some other sort of file transfer).

Or you could work with someone who creates a custom extract and conversion program for you. One major issue with that is that you need someone who actually has version 8. The first approach can be done by using Progress db upgrade tools to convert the v8 db to a v9 or v10 db -- but to create r-code to be used in a v8 system you have to actually have a v8 system. At a minimum you're probably looking at 4 hours (for a database suitable to be e-mailed and converted once). A custom extract would, obviously, take a variable amount of time depending on your needs. Maybe a day or two on the low end, weeks, maybe even months if you're a red-tape bound mega-corp that keeps changing its mind. ;) Some people make careers out of that sort of thing.

Of course there are a lot of possibilities in between too.
 
He lacks any sort of development license which prevents him from dumping data or writing an extract program. And since it is v8 there are no dynamic queries so he cannot use a general purpose data dumping program. Thus he needs someone who has the appropriate licenses to extract the data.
 
Back
Top