C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp 加Everyone权限
Microsoft JET Database Engine (0x80004005)和DB Connection failure是一个错误,只是WEB程序的数据库连接里写的有些不一样,因为是NTFS分区,所以赋予了WEB程序所在分区Everyone组写入权限,这样ASP才可以把数据写进数据库.实验一下,还是不行,转到系统盘的WINDOWS文件夹,找TEMP文件夹,发现TEMP文件夹被改成TEMPEMPTEMP这个名字了,改回来,添加一个Everyone组并赋予写入权限.在实验,打开了.但是有一个框架还是出现了Microsoft JET Database Engine (0x80004005)错误,找到WEB的数据库连接代码,把conn.open “driver={microsoft access driver (*.mdb)};dbq=” & dbpath,修改成conn.open “provider=microsoft.jet.oledb.4.0;data source=” & dbpath,F5一下,问题解决.
随着操作系统的变化而变化,越来越多的人用上了 Win7 甚至 Win10 64位,但64位的 windows7 ,正确安装好IIS之后,尝试运行一个asp网站时,出现故障,逐级检查后,发现:
普通asp页面能正常打开,但是只要是连接mdb数据就出问题。
其实原因是在64位 Windows7 操作系统中,IIS7应用程序池默认没有启用32位应用程序,而我们连接ACCESS数据库的驱动程序Microsoft.Jet.OLEDB.4.0是32位的,所以就出错了,要想正常运行,只需启用32位应用程序即可。方法如下:
1、打开IIS信息服务管理器,在最右边的窗口中点击“查看应用程序池”链接
2、在出现的窗口中点击“设置应用程序池默认设置”链接,在弹出的窗口中将“常规”中的“启用32位应用程序”设置为“True”即可
该方法一样适用于 Win10 64位!!!
原文链接:https://www.hertzdance.com/blog/win7-win10-asp-mdb-db-connection-failure,转载请注明出处。
评论0