Issues connecting to Progress database via ODBC in published Web Application

0

I am having issue trying to get my Web Application published and running correctly on our IIS server.

When I test from within Visual Studio 2015 with the same ODBC driver setups, everything works fine. It is only once I try to publish the Web Application and access it off the IIS webserver in a browser that I am getting an issues.

I am using Visual Studio 2015 v14.0.25431.01 Update 3

The IIS server is a 64-bit Windows 2016 server

The ODBC driver is a Progress OpenEdge 11.6 driver - 32 Bit

The ODBC connection is setup using the 32-bit ODBC Manager found in c:\windows\sysWOW64\odbcad32

I came across many forums that say to make sure that the ODBC driver is setup correctly, and using the correct ODBC manager, which it is.

I also came across some posts that reference compiling the Web Application and specifying in the Configuration manager to use x86 instead of Any CPU. x86 is not an option when I go into the configuration manager.

I am at a loss as to how to resolve this error so that I can access the new Web Applications from the IIS server.

The error I get is...

Server Error in '/' Application.

ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.Odbc.OdbcException: ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application

Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace:

[OdbcException (0x80131937): ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application] System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode) +1358681 System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +78

Any suggestions, advice, recommendations?

asp.net
odbc
32-bit
openedge
progress-db
asked on Stack Overflow Sep 13, 2017 by shadderk • edited Sep 14, 2017 by Tom Bascom

1 Answer

1

The problem is what the error message try to say (maybe a bit unclear):

ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application

That means that your are trying to use a 32-bit ODBC driver with the 64-bit version of IIS, and it's not possible use 32-bit drivers/libraries in 64-bit applications (not just for IIS, but for any Windows application).

You have no problem with VS 2015 because it's a 32-bit application, so the driver and the application match. You need to install the 64-bit ODBC driver for IIS and configure a 64-bit ODBC.

answered on Stack Overflow Sep 13, 2017 by Alberto Martinez

User contributions licensed under CC BY-SA 3.0