最近升級了電腦主機(jī),淘寶買的,賣家把我裝好了64位的win7和一些基本程序。
自己有個(gè)小程序是asp的,要讓它運(yùn)行起來,于是裝上IIS(之前在添加刪除程序里,現(xiàn)在叫 打開或關(guān)閉Windows功能 ,找了好一會兒),搭好web后,發(fā)現(xiàn)一直在運(yùn)行,頁面一頁空白。
好久沒碰asp程序了,但還是有點(diǎn)印象的。于是打開程序,找到連接數(shù)據(jù)庫那段后,加了句:Response.Write Err.Description,提示沒記錄下來,大概是沒有找到合適的應(yīng)用程序。
看了下機(jī)子上,有word,excel等,沒access。重新裝了下office2003,有了access。
web運(yùn)行,提示:未找到提供程序。該程序可能未正確安裝。
原程序
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 驅(qū)動程序管理器] 未發(fā)現(xiàn)數(shù)據(jù)源名稱并且未指定默認(rèn)驅(qū)動程序
以往的經(jīng)驗(yàn),可能沒開啟父路徑,在IIS里找了下啟用了,還是一樣。
搜索了下,發(fā)現(xiàn)問題在IIS7身上。
應(yīng)用程序池默認(rèn)設(shè)置 里 常規(guī)->啟用32位應(yīng)用程序 默認(rèn)是False改成True。
這時(shí)候提示:
前者:未指定的錯(cuò)誤數(shù)據(jù)庫連接出錯(cuò),請檢查連接字串
后者:[Microsoft][ODBC Microsoft Access 驅(qū)動程序] Microsoft Jet 數(shù)據(jù)庫引擎打不開文件'(未知的)'。 它已經(jīng)被別的用戶以獨(dú)占方式打開,或沒有查看數(shù)據(jù)的權(quán)限。
繼續(xù)找辦法:
windows/temp文件夾缺少一個(gè)用戶組權(quán)限,缺少的用戶組為Authenticated Users。
于是給這個(gè)文件夾添加 Authenticated Users 用戶組 ,給于讀取、寫入權(quán)限。
問題解決了!
‘Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 找不到文件 '(未知的)'。
/conn/conn1.asp, 第 3 行'
在windows7中正確設(shè)置了IIS7.0的配置,同時(shí)正確設(shè)置了ASP
的權(quán)限問題,但在運(yùn)行時(shí)會彈出如上錯(cuò)誤!
我的數(shù)據(jù)庫連接代碼是:
<%
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")
%>
網(wǎng)絡(luò)中流傳很多版本的解釋,經(jīng)本人嘗試解決方法:
windows/temp文件夾缺少一個(gè)用戶組權(quán)限
一般在windows7默認(rèn)安裝的IIS中,缺少的用戶組為Authenticated Users
添加
Authenticated Users
默認(rèn)權(quán)限為讀取、寫入。ok,系統(tǒng)正常運(yùn)行
win7或windows 2008 64位系統(tǒng)中,asp+access 數(shù)據(jù)庫連接錯(cuò)誤解決辦法
Win7或Windows server 2008中IIS7是默認(rèn)不安裝的,所以在安裝完Win7或Windows server 2008之后如果需要安裝IIS7的話,就要自己動手了。安裝的步驟為:開始》控制面板》程序》打開或關(guān)閉Windows功能》Internet信息服務(wù)。IIS7安裝時(shí)需要注意的是,如果需要ASP、ASP.NET等的支持,是需要把功能模塊給裝上的,默認(rèn)是不安裝的。
win7或windows 2008 64位系統(tǒng)解決IIS7中Access數(shù)據(jù)庫問題。
如果你使用64位系統(tǒng),那可能如上辦法也解決不了,原因是64位系統(tǒng)沒有提供64位ACCESS連接的驅(qū)動,把網(wǎng)站對應(yīng)的應(yīng)用程序池中項(xiàng)目的“啟用32位應(yīng)用程序”置為“ture”。 這樣就可以了。
Other tips in IIS7:
a. 啟用父路徑。
常用的 ../ 父路徑使用在IIS7里面是默認(rèn)不支持的。
在iis的主頁-->ASP -> 雙擊打開-> 啟用父路徑: True
b. 向?yàn)g覽器返回錯(cuò)誤信息。
默認(rèn)網(wǎng)頁代碼出錯(cuò)瀏覽器會出現(xiàn)“An error occurred on the server when processing the URL. Please contact the system administrator”。
在iis的主頁-->ASP -> 雙擊打開->調(diào)試錯(cuò)誤-> 將錯(cuò)誤發(fā)送到瀏覽器: True