Link to home
Start Free TrialLog in
Avatar of Hwylie
Hwylie

asked on

error im014 ms odbc driver manager -

"error im014 ms odbc driver manager - the specified dsn contains and architecture mismatch  between the driver and application."  I'm using an IBM informix 4.1 client access a dsn via ODBC.  When I configure it and test it within the Admin ODBC tool I get this error.  MS's fix using syswow64 doesn't work at all in that still identifies the driver as 32bit even thought it is 64. This looks like a major design flaw.  Any ideas on how to get around this I'm using Win 7 Pro 64 bit and Visual Studio 2008?  Thanks
Avatar of strivoli
strivoli
Flag of Italy image

If your application is 32 bit, you should use a 32 bit ODBC driver.
First set a working DSN using the 32 bit ODBC (the default path is C:\Windows\SysWOW64\odbcad32.exe). If this DSN works, your application is calling the wrong DSN.
Avatar of Hwylie
Hwylie

ASKER

The application is visual studio.  Connection is being attempted by using visual studio's data access tools.
The ODBC manager, in the Control Panel, is using the 64bit informix ODBC driver.  64 bit ODBC attaches to the database and opens it correctly using an IBM drivers.  A separate IBM supplied testing tool performs a "select *" against a table correctly.  So the only software that isn't correctly using the appropriate drivers is visual studio.  Microsoft acknowledges this known problem yet offers no fix.  Their workarounds all deal with being sure you use the right driver for the application 64/32.  When done the problem remains in Visual Studio. I believe this is a registry error induced by Microsoft's publishing of drivers in the registry in a way that allows the 32/64 bit drivers to be co-mingled without Visual Studio discerning the type.   It all boils down to MS not doing a good job of regression testing their development environments and not fixing known problems.  Their answer is to have 2 versions of ODBC manager in Win 8 32 and 64 bit versus running the 32 bit ODBC in WOW64 directory etc...

Any further thoughts?
ASKER CERTIFIED SOLUTION
Avatar of strivoli
strivoli
Flag of Italy 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 Hwylie

ASKER

I tried your technique using the most recent version 4.1 of IBM Informix odbc .net 32/64 drivers and found it would not install/identify the relevant 32 bit driver using the Connection manager in sysWOW64. I then downloaded an older version of the same driver ver 3.9 and it did install the 32 bit driver correctly using exactly the same process.  

So your suggestion worked.  Thanks!  

What is aggravating about all of this is Microsoft's cavalier approach to supporting 32 and 64 bit OS environments as if they have no responsibility.  
    1. Compatibility of their own products
    2. Those of other software vendors.  

They seem to believe the proof is left to the "looser", I mean user.
You are welcome.