Windows 2008 x64 üzerine IIS7 standart kurulumunu gerçekleştirdim. asp dosyalarının çalışmalarında bir problem yokken veritabanı kullanan sayfalarda hata ile karşılaştım.
kodlar
dim conn
set conn=server.CreateObject("ADODB.Connection")
conn.provider="Microsoft.Jet.OLEDB.4.0"
conn.open(server.MapPath("vt.mdb"))
hata mesajı
ADODB.Connection error '800a0e7a'
Provider cannot be found. It may not be properly installed.
/Default.asp, line
diğer bağlantı yöntemini denediğimde ise
kodlar
Dim Connection
set Connection = server.createobject("adodb.connection")
Connection.open("driver={microsoft access driver (*.mdb)}; dbq=" & server.mappath("vt.mdb"))
hata mesajı
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
/Default.asp, line
ikinci hata mesajından sonra sorunun ODBC driverlarından olduğu çıktı ortaya. Bu sefer MDAC güncel sürümünün x64 sürümü yokmuş.
Bu yüzden IIS7 64bit olarak çalışırken 64bit mdac sürücüleri olmadığından hata ile karşılaşıyoruz.
Bu hatayı aşmak için IIS7 nin 32 bit uyumlu modda çalışması gerekiyor.
IIS7 mizi 32 bit uyumlu moda geçirmek için: Başlat – Çalıştır
cscript c:\inetpub\adminscripts\adsutil.vbs SET /w3svc/AppPools/Enable32BitAppOnWin64 True
Eğer IIS7 mizin 32 bit uyumluluk modunu kapatacaksak
cscript c:\inetpub\adminscripts\adsutil.vbs SET /w3svc/AppPools/Enable32BitAppOnWin64 False
scriptlerini çalıştırmalıyız.Scriptleri uyguladıktan sonra IIS7 yi restart etmenizde gerek yok.
Scriptlerin çalışıp çalışmadığını görmek için komut istemi (cmd.exe) üzerinde çalıştırırsak işlemin gerçekleşip gerçekleşmediğini izleyebiliriz. işlemi çalıştırdığımızda
32 bit uyumluluğu kapatmışsak
Enable32BitAppOnWin64 : (BOOLEAN) False
32 bit uyumluluğu açmışsak
Enable32BitAppOnWin64 : (BOOLEAN) True
çıktılarını görmeliyiz.
Bu çıktılar yerine
Input Error: Can not find script file "c:\inetpub\adminscripts\adsutil.vbs".
uyarısını alıyorsanız IIS 6 Scripting Tools servisi IIS 7 rolünün kurulumu yaparken yüklememişsiniz demektir.
Yüklemek için Server Manager konsolunu açalım
Add Role Services seçeneğine tıkladıktan sonra IIS 6 Scripting Tools Rol Servisini ekleyelim