Solved

ODBC Connection to Progress fails to open PROMSGS

Posted on 2004-03-29
11
14,770 Views
Last Modified: 2013-11-23
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.
0
Comment
Question by:ssam
11 Comments
 
LVL 2

Accepted Solution

by:
jgilligan1 earned 500 total points
ID: 10790997
Well, there are at least a couple of problems.

1. You do not have your environment variables set, depending on how your doing your ODBC connect, you need to specifify at least a couple of variables ahead of your active DB session.

1. DLC=/usr/dlc91x/ (wherever you have progress installed)
2. PROMSG=$DLC/promsgs - this typically is under your DLC directory and points to a storage file which controlls the error messages that progress reports on.

Other than that, as far as permissions are concerned, you don't need to have anything other that read only. But as far as access to the database you may also wish to set that to read only as well.

If that doesn't show you any love, you may consider the PEG (http://www.peg.com) , it may be a faux pas to mention it here but this is a usergroup which is very small but has some excellent progress experts (many of whom work for Progress itself) , You'd be hard pressed to find a more competent group than those guys when it comes to Progress.

Hope that helps,

Joe Gilligan
Perpetual student.
0
 
LVL 4

Expert Comment

by:prairieits
ID: 10791146
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
0
 

Expert Comment

by:Varrus
ID: 10800142
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

0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 2

Expert Comment

by:jgilligan1
ID: 10807052
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.
0
 
LVL 1

Author Comment

by:ssam
ID: 10807911
jgilligan1 was essentially correct;  the solution was actually, though, an update/upgrade to the client installed on the box where the SQL server resided.
0
 

Expert Comment

by:YelenaC1
ID: 14526647
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"?
0
 
LVL 2

Expert Comment

by:jgilligan1
ID: 14526741
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.
0
 

Expert Comment

by:YelenaC1
ID: 14526872
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.
0
 
LVL 2

Expert Comment

by:jgilligan1
ID: 14526938
When you say a job, do you mean a cron/batch job from Unix?

0
 

Expert Comment

by:YelenaC1
ID: 14527074
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.
0
 
LVL 2

Expert Comment

by:jgilligan1
ID: 14527649
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.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
Get to know the ins and outs of building a web-based ERP system for your enterprise. Development timeline, technology, and costs outlined.
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, just open a new email message. In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

815 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now