Tuesday, February 02, 2010

MSDASQL for 64 bit windows

Most articles that I found about MSDASQL for 64 bit Windows said that MSDASQL support was not going to be available.

This was a big let down for my team, as we had this brand spanking new 64 bit web-server and we had some old ASP apps that needed to be hosted on it. The reason this was a let down was that these old ASP apps were using a MSDASQL data provider with a MSDataShape provider and the app just would not run.

After some more debugging we found that a desktop app that used the same connection string would work if it was built as a 32 bit app but not as a 64 bit app. This meant that the server had 32 bit versions of the ODBC drivers needed for MSDASQL/MSDataShape, but not the 64 bit versions. (The 64 bit app would fail with the “Class not registered” error – the same error I was getting when the ASP app was running).

The reason this was a let down was that, without 64 bit OleDb ODBC drivers, we would have to run IIS in 32 bit isolation mode (we have IIS6 which supports an either or as far as running in 32 bit or 64 bit mode is concerned – I think this is not the case with IIS7). As we were not going to be able to move to IIS 7, it looked as though we were going to have to run IIS in 32 bit isolation mode – which means that I cannot load any 64 bit dlls – what good would the 64 bit environment be then?

Fortunately I found the following Microsoft Download page, where version 2.82.4250.0 of the OLEDB Provider for ODBC can be downloaded, which provides support for 64 bit Windows 2003.

http://www.microsoft.com/downloads/details.aspx?FamilyID=000364db-5e8b-44a8-b9be-ca44d18b059b&displaylang=en

After installing and rerunning the application – the old ASP app began working in the new environment. Hallelujah!

No comments: