Protože v současné době píšu občas v klasickém ASP, potřeboval jsem jej rozjet na IIS. Mám Windows Vista Ultimate (64bitovou edici) a celé odpoledne jsem se vztekal, proč nefungovalo ODBC připojení k MS SQL Serveru. Všechno bylo správně nastaveno a nainstalováno, fungovat by to tedy mělo. Nakonec jsem to nevyřešil a použil OLEDB, které funguje v pohodě.
Dnes jsem potřeboval rozjet ještě MySQL a následoval ten stejný problém. Navíc ovladače OLE DB pro MySQL se už nedělají, takže jsem ODBC použít musel. A tu se ukázalo, že ono by to normálně mělo fungovat, nebýt toho, že jsem před časem zkoušel nainstalovat VMWare Server, který si do IIS přidá vlastní aplikaci pro konfiguraci. A mimo jiné na IISce povolí 32bitů, protože jinak by jeho aplikace nefungovala. No a díky tomu ODBC přestane fungovat, tedy pokud si řeknete, že na 64bitový systém patří přece 64bitový ovladač pro MySQL.
VMWare Server jsem již dávno odinstaloval, ovšem nastavení oněch osudných 32 bitů na něm zůstalo. Jak tedy celou věc napravit? Jednoduše, s administrátorskými právy stačí spustit tento příkaz:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0
Nepředpokládám, že by se tento návod hodil stovkám lidí, podobný problém je velmi specifický, ale na druhou stranu moje paměť za moc nestojí, takže kdybych zapomněl, jak se to dělá, budu to mít tady.