IIS 7.X上使用ASP + ACCESS資料庫
IIS 7.X上使用ASP + ACCESS資料庫
ODBC
你不能使用「系統管理工具」裡的ODBC,因為那是64位元版本,雖然你在「工作管理員」看到的是「odbcad32.exe」。- 在64位元作業系統裡,所有32位元版本的程式,最後面都會加上「odbcad32.exe *32」,最後面那個「*.32」才是說這個是32位元程式。
- 在「系統管理工具」裡的ODBC是找不到MDB,只有SQL Server。
- 找「C:\Windows\SysWOW64」裡「odbcad32.exe」才是32位元版本的ODBC,才有辦法與Access連接。
角色
IIS角色必須包含「ASP」。站台
在ASP站台中設定「ASP」,啟用上層路徑:True;應用程式集區
在ASP的「應用程式集區」「進階設定」「(一般)」啟用32位元應用程式:True
「寫入」權限
在這裡注意兩個地方的寫入權限:- IIS暫存目錄 設定「IIS_IUSRS群組」有寫入權限。
- Access目錄 資料庫所在目錄,設定「IUSRS帳戶」有寫入權限。
問題說明:使用64位元Windows時,在IIS7底下使用ASP+Access資料庫,出現HTTP 500 錯誤訊息
解決說明:64位元下的IIS7,預設不支援Access這類32bit的ODBC,要將相容選項打開
1.Application Pool--->Advanced Settings--->Enable 32-bit Applications 設為True
補充:
2.到「C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp」,變更這個資料夾的使用權限
增加「Authenticated Users」這個使用者的使用權限為Full Control
3.注意*.mdb檔案的使用者權限
解決說明:64位元下的IIS7,預設不支援Access這類32bit的ODBC,要將相容選項打開
1.Application Pool--->Advanced Settings--->Enable 32-bit Applications 設為True
補充:
2.到「C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp」,變更這個資料夾的使用權限
增加「Authenticated Users」這個使用者的使用權限為Full Control
3.注意*.mdb檔案的使用者權限
留言
張貼留言