64位win7的IIS7下asp与access的连接问题
最近升级了电脑主机,淘宝买的,卖家把我装好了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