Windows 7/windows server 2008 R2 64位版IIS不能连接Access数据库,80004005报错的解决办法

未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。

image

IIS跑在64位环境下引起的。而64位下,是木有Access数据库的驱动的(包括Excel也不行)。

解决办法是:在目标网站的应用程序池中选择高级设置,然后将启用32位应用程序设置为true,重启IIS即可

image

如果是出现提示:ACCESS数据库连接出错

Microsoft JET Database Engine 错误 '80004005'

操作必须使用一个可更新的查询。

image

请检查以下2个地方

1:修改方法:

给“系统盘:/Windows/ServiceProfiles/NetworkService/AppData/Local/Temp”目录添加 一个“Authenticated Users”的用户,其中AppData目录是隐藏的,在进入的时候可以直接在地址栏输入路径,或者在文件夹选项里显示隐藏文件。

 

设置权限步骤:右击Temp文件夹,选择“属性”》选择“安全”选项卡》单击“编辑”》出来“Temp 的权限”对话框,单击“添加”,在下面的“输入对象名称来选择”中输入Authenticated Users,确定》返回到“Temp 的权限”,将Authenticated Users的权限中的完全控制给勾上,确定》确定。

image

2:给你网站的运行目录,也加上如上的权限

image

(如果是数据库  加上修改、写入的权限,实际上就等同于 完全修改了)

image

网上有个人写到

特别提醒自己。因为vista在NTFS(磁盘格式)下,所以还要在自己文件夹的安全标签中分别添加:IUSER_机器名和Athenticated Users的完全控制权限。为什么没有了IWAM呢?不懂

这句话,和我遇到的问题很像··

另外还有一个   检测到在集成的托管管道模式下不适用的 ASP.NET 设置

image

这个还是那个  32位 和  64位的问题

image

原文地址:https://www.cnblogs.com/iceicebaby/p/2426595.html