最近升級了電腦主機,淘寶買的,賣家把我裝好了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
默認權限為讀取、寫入。ok,系統正常運行
win7或windows 2008 64位系統中,asp+access 數據庫連接錯誤解決辦法
Win7或Windows server 2008中IIS7是默認不安裝的,所以在安裝完Win7或Windows server 2008之後如果需要安裝IIS7的話,就要自己動手了。安裝的步驟為:開始》控制面板》程序》打開或關閉Windows功能》Internet信息服務。IIS7安裝時需要注意的是,如果需要ASP、ASP.NET等的支持,是需要把功能模塊給裝上的,默認是不安裝的。
win7或windows 2008 64位系統解決IIS7中Access數據庫問題。
如果你使用64位系統,那可能如上辦法也解決不了,原因是64位系統沒有提供64位ACCESS連接的驅動,把網站對應的應用程序池中項目的“啟用32位應用程序”置為“ture”。 這樣就可以了。
Other tips in IIS7:
a. 啟用父路徑。
常用的 ../ 父路徑使用在IIS7裡面是默認不支持的。
在iis的主頁-->ASP -> 雙擊打開-> 啟用父路徑: True
b. 向浏覽器返回錯誤信息。
默認網頁代碼出錯浏覽器會出現“An error occurred on the server when processing the URL. Please contact the system administrator”。
在iis的主頁-->ASP -> 雙擊打開->調試錯誤-> 將錯誤發送到浏覽器: True