I have a legacy ASP 3.0 application working with MySql 4 database via MySql ODBC 3.51 connector.
Currently it runs on Windows 2003 server (32-bit, IIS 6.0). Everything works fine.
Recently I was asked to make some changes in the application and I had to setup developing environment. Last time I did such setup it was 32-bit Windows XP and I had no problem. But time went by and today I am working with 64-bit Windows 7.
I started as usual by installing MySql ODBC 3.51 connector. Install ran smoothly and my next step was to configure proper data source in "ODBC Data Source Administrator" dialog box (Control Panel > Administrative Tools > Data Sources (ODBC)). But to my surprise opened dialog did not list MySql ODBC driver, so I was not able to configure it. Reinstalling the driver did not bring success. What's wrong I did?!?!
After searching internet (thanks Google) I found solution: "To manage a data source that connects to a 32-bit driver under 64-bit platform, use c:\windows\sysWOW64\odbcad32.exe. To manage a data source that connects to a 64-bit driver, use c:\windows\system32\odbcad32.exe." Can you imagine that?
I ran c:\windows\sysWOW64\odbcad32.exe and got the same "ODBC Data Source Administrator" dialog box but now with ability to configure my data source.
Next step was to set up IIS 7.0 to run ASP 3.0 application. It was relatively easy so I will omit the details.
At this step I was pretty sure that my application will run properly, but the first request returns error: "The specified DSN contains an architecture mismatch between the Driver and Application". The same question - What's wrong I did?!?!
Searching again (What would we do without Google?) . Luckily I am not only one who has such a problem. The solution is to configure web application to run in a 32-bit application pool. There is no direct way to run a 32-bit in-process components from a 64-bit application pool.
Now I got my application runs!
mazal tov :)
ReplyDelete