Why does OpenEdge ODBC connection fail with error 126 in IIS but on in VS2010?
I have an ASP.net web service application that connects to a Progress OpenEdge 10.1B database via ODBC. My development machine is XP Pro and runs everything fine. I am now moving the application into a test environment. The test machine is also XP Pro. It matches the dev machine except for that the Pro开发者_高级运维gress Server is not running locally. I am able to run the project out of VS2010 and the web service makes the ODBC connection and returns the data without error. When I deploy the application to IIS (which is running locally) the ODBC connection fails with this error:
*System.Data.Odbc.OdbcException: ERROR [IM003] Specified driver could not be loaded due to system error 126 (OpenEdge 10.1B driver). *
What is going on here?
Try the Progress Knowledgebase at http://progress.atgnow.com/esprogress/Group.jsp?bgroup=progress
This entry seems potentially relevant:
ID: P36468 Title: "ASP page fails to launch due to the error 126 when loading the ODBC driver" Created: 08/11/2003 Last Modified: 10/14/2008 Status: Verified
Symptoms:
ASP page fails to launch due to the error 126 when loading the ODBC driver
Specified driver could not be loaded due to system "error 126" (MERANT 3.70 32-BIT PROGRESS)
Testing the connection from ODBC Data Administration works fine
Using IIS built in account for the IIS and ASP.
Facts:
Windows NT 32 Intel/Windows 2000
Progress 9.1x
IIS
Cause:
IIS built-in account (IUSR_machine_name) does not have permissions to access network
resources which will be the case if Progress has been installed on the network shared drive.
Fixes:
Install Progress on the local drive to the IIS and add the read and execute
permission for the IUSR account to all the files in the installation directory.
精彩评论