Link to home
Start Free TrialLog in
Avatar of ssam
ssam

asked on

ODBC Connection to Progress fails to open PROMSGS

using a Merant 3.70 32-bit Progress ODBC driver, i can append data to an existing table structure manually through a SQL Server DTS package.  if i try to schedule it as a job within the SQL Server Agent, it fails.  Does anyone know how the ODBC is trying to open PROMSGS and what permissions it needs to have?  Suggestions? ---ssam

following is the actual error message:

DTSRun:  Loading...   DTSRun:  Executing...   DTSRun OnStart:  Copy Data from Results to [SytelineImport].[dbo].[custaddr] Step   DTSRun OnError:  Copy Data from Results to [SytelineImport].[dbo].[custaddr] Step, Error = -2147467259 (80004005)      Error string:  [MERANT][ODBC PROGRESS driver]msgOpen: unable to open message file: PROMSGS      Error source:  Microsoft OLE DB Provider for ODBC Drivers      Help file:        Help context:  0      Error Detail Records:      Error:  -2147467259 (80004005); Provider Error:  0 (0)      Error string:  [MERANT][ODBC PROGRESS driver]msgOpen: unable to open message file: PROMSGS      Error source:  Microsoft OLE DB Provider for ODBC Drivers      Help file:        Help context:  0      DTSRun OnFinish:  Copy Data from Results to [SytelineImport].[dbo].[custaddr] Step   DTSRun:  Package execution complete.  Process Exit Code 1.  The step failed.
ASKER CERTIFIED SOLUTION
Avatar of jgilligan1
jgilligan1
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of prairieits
prairieits

I can tell you with 100 percent certainty that jgilligan1's answer is correct, except that you are using a Windows OS, so rather than the /usr reference, your path is going to be c:\progress\something...  Same will hold true for the PROMSGS path.

Good luck,
Jerod
Hello:

The only other thing I might add is two more environment variables:

IDLC=c:/dlcxxx
IPROMSGS=$DLC/promsgs

These will be the same values as the DLC and PROMSGS variables.

I have found this has solved my previous Merant 3.7 ODBC connection funnies!

Cheers!

Peter

Geepers, Sorry about the Unix/Dos issue. I work in a bunch of different OS's and forget myself alot.

Hopefully, the environment issues will resolve the problem but it may not completely do so if there are some other issues.

Regards,

Joe G.
Avatar of ssam

ASKER

jgilligan1 was essentially correct;  the solution was actually, though, an update/upgrade to the client installed on the box where the SQL server resided.
I have exactly the same problem and all my environment variables are set up correctly. (DLC, IDLC, PROMSGS, IPROMSGS).

What do you mean by "client update/upgrade"?
It's possible that there is a problem with the ODBC not being completely compatible with the specific version of Progress. What versions/platform of each are you using?

Regards,

Joe G.
Progress version is 9.1C on unix.
SQL Server instance is installed on Windows Server 2003.
Merant 3.7 is also installed on Windows Server 2003 ( the same server).

If I test the connection manually from ODBC utility, it connects correctly.

If I run DTS package manually, it runs fine. The only time I have a problem if it is run as a job. That's when I get the PROMSGS error.
When you say a job, do you mean a cron/batch job from Unix?

No, I mean a Job within SQL Server Agent. If you look at the very first original question on this thread, it explains my problem exactly. I am running a DTS package in SQL Server, moving data from Progress to SQL, using DSN with Merant 3.70 driver.

When I schedule a DTS package to run in SQL Server Agent, it makes it a job. That job fails with  the error described above.
Ok. So does the promsgs file exist in the proper spot? I have also seen instances where this kind of message crops of when the Progress running on the workstation is not installed properly or rather it is copied rather than installed.

Joe G.