最近升級了電腦主機,淘寶買的,賣家把我裝好了64位的win7和一些基本程序。
自己有個小程序是asp的,要讓它運行起來,於是裝上IIS(之前在添加刪除程序裡,現在叫打開或關閉Windows功能,找了好一會兒),搭好web後,發現一直在運行,頁面一頁空白。
好久沒碰asp程序了,但還是有點印象的。於是打開程序,找到連接數據庫那段後,加了句:Response.Write Err.Description,提示沒記錄下來,大概是沒有找到合適的應用程序。
看了下機子上,有word,excel等,沒access。重新裝了下office2003,有了access。
web運行,提示:未找到提供程序。該程序可能未正確安裝。
原程序
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(AccessPath&"/"&AccessFile)
Conn.Open
我改成:
Conn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(AccessPath&"/"&AccessFile)&";"
提示:[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序
以往的經驗,可能沒開啟父路徑,在IIS裡找了下啟用了,還是一樣。
搜索了下,發現問題在IIS7身上。
應用程序池默認設置裡常規->啟用32位應用程序默認是False改成True。
這時候提示:
前者:未指定的錯誤數據庫連接出錯,請檢查連接字串
後者:[Microsoft][ODBC Microsoft Access 驅動程序] Microsoft Jet 數據庫引擎打不開文件'(未知的)'。 它已經被別的用戶以獨占方式打開,或沒有查看數據的權限。
繼續找辦法:
windows/temp文件夾缺少一個用戶組權限,缺少的用戶組為Authenticated Users。
於是給這個文件夾添加Authenticated Users 用戶組,給於讀取、寫入權限。
問題解決了!
'Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 找不到文件'(未知的)'。
/conn/conn1.asp, 第3 行'
在windows7中正確設置了IIS7.0的配置,同時正確設置了ASP
的權限問題,但在運行時會彈出如上錯誤!
我的數據庫連接代碼是:
複製代碼代碼如下:
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & DefaultDir &server.mappath("worker.mdb")&";"
Set rs = Server.CreateObject("ADODB.Recordset")
Set rs1 = Server.CreateObject("ADODB.Recordset")
Set rs2 = Server.CreateObject("ADODB.Recordset")
Set rs3 = Server.CreateObject("ADODB.Recordset")
%>
網絡中流傳很多版本的解釋,經本人嘗試解決方法:
windows/temp文件夾缺少一個用戶組權限
一般在windows7默認安裝的IIS中,缺少的用戶組為Authenticated Users
添加
Authenticated Users