How to export database tables to MS-SQL Server ?

Posted by Admin on 21-Apr-2010 09:43

Hi,

I am trying to export data from a Progress database to a SQL-Server database, but I encounter a lot of problems.

I have tried to use an ODBC-Driver (Openlink or DataDirect), but for each ODBC_Driver, I need "Progress Client Networking components" to have access to my database on a SCO Unix machine from my Windows XP machine and I can't find where I can acquire this Progress Client software for an old Progress 8.2C version.

I'm now exploring another solution : creating flat files with Progress, but I encounter other problems.

I have downloaded scripts in 4GL to do this here : http://www.smart-it-consulting.com/

There are 3 files :

dumpDB.p

dumpTables.p

config.i

I made some changes in config.i, but when I run the dumpDB.p with "pro" I receive this error message :

1402 Attention: -b n'est pas un parametre de la base et a ete ignore. (1402) x
x         276 ** La base <database_name> est utilisée en mode         x
x                          multi-utilisateurs. (276)                           x


(Sorry but I'm working on a French version)

As I can't find any documentation on Progress 4GL, I can't understand where the errors are.

Thanks for your help,

Pierre

All Replies

Posted by rbf on 21-Apr-2010 17:46

Hi Pierre,

A few questions:

Is this a one-time thing or do you actually need to keep the Progress database and the MS-SQL database in sync?

What MS-SQL Server version?

Is this a CHUI application running on the Unix box? Are you converting the app to MS-SQL Server or will the Progress app keep running?

Is this a home-grown app or do you have an application vendor that can help you?

-peter

Posted by Admin on 22-Apr-2010 02:24

Hi Peter,

It's a one-time migration (but for 28 different databases) from Progress to SQL-Server 2005.

It's a definitive migration for using a new application.

I have to do this for a client.  So I have never worked with Progress until today.

Thanks for your answer,

Pierre

Posted by kevin_saunders on 22-Apr-2010 06:30

PierreB wrote:

Hi,

There are 3 files :

dumpDB.p

dumpTables.p

config.i

I made some changes in config.i, but when I run the dumpDB.p with "pro" I receive this error message :

1402 Attention: -b n'est pas un parametre de la base et a ete ignore. (1402) x
x         276 ** La base est utilisée en mode         x
x                          multi-utilisateurs. (276)                           x


(Sorry but I'm working on a French version)

As I can't find any documentation on Progress 4GL, I can't understand where the errors are.

Thanks for your help,

Pierre

Just so you know what the errors mean:

The 1402 means you have added or changed something in the connection statement, but it is not a connection parameter and is being ignored (in this case -b, which is for batch mode).

The 276 says that Progress is running in multi user mode, so you must use mpro, not pro (multi user vs single user).

You can use the Knowledge Base to search for error messages..

Kevin

Posted by Admin on 22-Apr-2010 10:29

Thanks for your answer, Kevin.

I use now "mpro" and I don't receive the 276 error message yet.

I have changed also the flag -ldb in the config.i file in -db.  So the 1402 error message don't fire.

But I receive the message : Press spacebar to continue and nothing happens.

If I press CTRL-C to interrupt the program, I receive the message Unable to run startup procedure dumpDB.p. (492)

Posted by rbf on 22-Apr-2010 11:35

You really need to get a Progress consultant out there to do this for you. You are not going to get this done without any Progress experience.

Posted by kevin_saunders on 26-Apr-2010 04:36

What Progress license are you trying to run the code with? If it is not a development license, then the code will fail as it relies on being able to do a runtime compile. To find out,. you can look in the progress.cfg (on SCO, $DLC/bin/showcfg progress.cfg). Also, what is the exact command you are using?

Posted by Admin on 30-Apr-2010 10:38

Hi Kevin,

The code I was using is this on this site : http://www.smart-it-consulting.com/article.htm?node=89&page=8

But because it is explicitely recommanded to not publish the code I have simply add a link.

So I use the following scripts :

dumpDB.p :

http://www.smart-it-consulting.com/docframe.htm?url=http://www.smart-it-consulting.com/progress/4gl-code/dump-progress-database/dumpDB.p&title=dumpDB.p

dumpTables.p

http://www.smart-it-consulting.com/docframe.htm?url=http://www.smart-it-consulting.com/progress/4gl-code/dump-progress-database/dumpTables.p&title=dumpTables.p

and config.i

http://www.smart-it-consulting.com/docframe.htm?url=http://www.smart-it-consulting.com/progress/4gl-code/dump-progress-database/config.i&title=config.i

The only changes I made is in the config.i file.

       cDbName          = "<mydatabasename>":U
       cDbFile          = "":U
       cDbConnectString = "-1":U
       cProgDir         = "/usr/tmp/":U
       cDumpDir         = "/usr/tmp/":U
       cDumpExt         = ".txt":U
       cDelimiter       = ",":U
       /* end customize  */
       cUseConnectString   = "-ldb ":U + cDbName + " ":U + cDbConnectString

This thread is closed