zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

64位win7的IIS7下asp与access的连接问题

ASP连接 问题 64 access win7 IIS7
2023-06-13 09:14:15 时间

最近升级了电脑主机,淘宝买的,卖家把我装好了64位的win7和一些基本程序。

自己有个小程序是asp的,要让它运行起来,于是装上IIS(之前在添加删除程序里,现在叫打开或关闭Windows功能,找了好一会儿),搭好web后,发现一直在运行,页面一页空白。
好久没碰asp程序了,但还是有点印象的。于是打开程序,找到连接数据库那段后,加了句:Response.WriteErr.Description,提示没记录下来,大概是没有找到合适的应用程序。
看了下机子上,有word,excel等,没access。重新装了下office2003,有了access。

web运行,提示:未找到提供程序。该程序可能未正确安装。

原程序

Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(AccessPath&"/"&AccessFile)
Conn.Open

我改成:

Conn.open"DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ="&Server.MapPath(AccessPath&"/"&AccessFile)&";"

提示:[Microsoft][ODBC驱动程序管理器]未发现数据源名称并且未指定默认驱动程序

以往的经验,可能没开启父路径,在IIS里找了下启用了,还是一样。

搜索了下,发现问题在IIS7身上。

应用程序池默认设置里常规->启用32位应用程序默认是False改成True。

这时候提示:

前者:未指定的错误数据库连接出错,请检查连接字串

后者:[Microsoft][ODBCMicrosoftAccess驱动程序]MicrosoftJet数据库引擎打不开文件"(未知的)"。它已经被别的用户以独占方式打开,或没有查看数据的权限。

继续找办法:
windows/temp文件夹缺少一个用户组权限,缺少的用户组为AuthenticatedUsers。

于是给这个文件夹添加AuthenticatedUsers用户组,给于读取、写入权限。

问题解决了!

‘MicrosoftOLEDBProviderforODBCDrivers(0x80004005)
[Microsoft][ODBCMicrosoftAccessDriver]找不到文件"(未知的)"。
/conn/conn1.asp,第3行"
在windows7中正确设置了IIS7.0的配置,同时正确设置了ASP
的权限问题,但在运行时会弹出如上错误!
我的数据库连接代码是:

复制代码代码如下:

<%
Setconn=Server.CreateObject("ADODB.Connection")
conn.open"DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ="&DefaultDir&server.mappath("worker.mdb")&";"
Setrs=Server.CreateObject("ADODB.Recordset")
Setrs1=Server.CreateObject("ADODB.Recordset")
Setrs2=Server.CreateObject("ADODB.Recordset")
Setrs3=Server.CreateObject("ADODB.Recordset")
%>

网络中流传很多版本的解释,经本人尝试解决方法:
windows/temp文件夹缺少一个用户组权限
一般在windows7默认安装的IIS中,缺少的用户组为AuthenticatedUsers
添加
AuthenticatedUsers

默认权限为读取、写入。ok,系统正常运行

win7或windows200864位系统中,asp+access数据库连接错误解决办法

Win7或Windowsserver2008中IIS7是默认不安装的,所以在安装完Win7或Windowsserver2008之后如果需要安装IIS7的话,就要自己动手了。安装的步骤为:开始》控制面板》程序》打开或关闭Windows功能》Internet信息服务。IIS7安装时需要注意的是,如果需要ASP、ASP.NET等的支持,是需要把功能模块给装上的,默认是不安装的。

win7或windows200864位系统解决IIS7中Access数据库问题。

如果你使用64位系统,那可能如上办法也解决不了,原因是64位系统没有提供64位ACCESS连接的驱动,把网站对应的应用程序池中项目的“启用32位应用程序”置为“ture”。这样就可以了。

OthertipsinIIS7:

a.启用父路径。
常用的../父路径使用在IIS7里面是默认不支持的。
在iis的主页-->ASP->双击打开->启用父路径:True

b.向浏览器返回错误信息。
默认网页代码出错浏览器会出现“AnerroroccurredontheserverwhenprocessingtheURL.Pleasecontactthesystemadministrator”。
在iis的主页-->ASP->双击打开->调试错误->将错误发送到浏览器:True