Conectivity issues

Michael Cullen

New Member
Hi all and thanks in advance, plus apologies for my lack of knowledge / being new to progress.

I have a project on at the moment to migrate a progress database to SQL, from what I have read and seen it appears to be relatively straightforward process, or should be if I had a few basic skills.

So I'll tell you what I know.

The DB is on a SUN server running progress Open edge 10.2b, I have no idea what the DB is called, but an old CRM system is able to connect to it, however I can't find any references to the db name in the settings, how ever the configured service name on the windows clients is ppptest01, if that helps.

So I guess my first question is, is there a command I can run on the SUN server or via the OE tools to list the database names?

Once I have the name, I believe I can use OE Data Administration tool to carry out the migration, I already have an ODBC connector to an empty SQL DB waiting.

Any advice and help would be greatly appreciated

Michael
 
On the SUN box... use one of the following

ps -ef | grep _mprosrv
ps -ef | grep ppptest01

From that you should be able to find the Progress install directory and make sure that is in your PATH. You can then use proutil -C dbipcs to show all of the Progress databases running on that machine.

How exactly do you plan on carrying out the migration? You are likely to run into some unexpected issues with differences in data types and export formats. It certainly can be done, but if you don't know Progress it can be more difficult than it has to be.
 
On the SUN box... use one of the following

ps -ef | grep _mprosrv
ps -ef | grep ppptest01

From that you should be able to find the Progress install directory and make sure that is in your PATH. You can then use proutil -C dbipcs to show all of the Progress databases running on that machine.

How exactly do you plan on carrying out the migration? You are likely to run into some unexpected issues with differences in data types and export formats. It certainly can be done, but if you don't know Progress it can be more difficult than it has to be.

Thanks for that, the first ps -ef command actually gave me the db name :)

root 13592 1 0 Feb 05 ? 0:52 /usr/progress/10.2B/dlc/bin/_mprosrv /l/test/db/orchhms -m1 -N TCP -Nd /dev/tcp

using Data Administrator, I used create to make a db name the same, then used connet, selected the local db, entered the same logical name and then put the host and service name. it connected and I ran a quick table report that has given me a list of tables.

so that is the first hurdle over come.

In answer to your question, I've been looking at a third party utility, but from the reading I have done and you tube videos, OE has it's own built in tools to do this. Totally understand that this is not going to be easy for me, any advice or things to watch out for.

Thanks
 
There is really no need for the local DB. Once you enter the host and service name it just connects to the remote DB and doesn't touch the local one.

If you are planning on pulling everything through SQL connections it will do most of the conversions for you... assuming you can actually access the base tables and not just views that may be altering or hiding the data in some way. Depending on the volume of data this may take a long time though.

You can dump the table contents into text files on the SUN box and use your own bulk inserts or SSIS packages to do the data transformation. Mostly on dates and logical (boolean) values. There are some data types that may be problematic (RAW,CLOB,BLOB) but you might get lucky and not have any of those types.

Most of the decent OE tools (like the dataserver tools for MS SQL) aren't available unless you purchase them. They will still show up on the menus but some of them will not work without the appropriate licenses installed.

For the first pass I would make SQL tables that match the OE definitions as closely as possible. This will make the data export/import easier. But it is extremely likely that you would not want your final SQL tables to look exactly like the OE tables. OE is not a SQL based database and you will find that some of the data layouts will be problematic to use in SQL where they may not be in OE.

Edit to add: Beware of setting the varchar lengths to match the OE format lengths. In OE those are all default display formats and do not actually enforce a max length like the SQL world does.
 
I guess you mean SQL Server?

Create a linked server via the odbc (google Progress linked SQL Server) then try

Code:
SELECT * INTO mysqltable FROM [LinkServer].pub.progresstable

That may do some of your tables, if not it would be a case of field by field.

I think I'm right in saying you can get the 64bit Progress ODBC driver for Windows under your existing client networking license - you would need to contact your supplier or Progress.
 
Back
Top