Windows2008 64位系统asp连接access数据库 错误解决方法

最近买了个阿里云,装了个Windows2008 R2 64位系统。把ASP环境配置好以后,发现不能正常访问网站。提示错误号是“-2147467259”。上网搜索了资料搞了半天终于解决了。

主要是二个大原因:


1、是64位系统的原因,ACCESS要32位
2、文件夹权限问题 (下面是整理的资料)
有个奇怪的现象,在GOOGLE里搜索错误号“-2147467259”,是找不到相关结果的。
因为微软要放弃access了,所以就没开发access数据库64位的.如果你的win7是64位,同样也不能支持access.
说到这里其实大家就知道为啥 64位 windows2008 R2 版本不支持access原因了.因为access只有64位,但windows2008 r2 64位默认程序都是64位的.由于Win R2是64位系统。在用IIS测试ASP网站时,连接数据库代码总是不成功。

"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.mappath(db)用这种方式时返回“3706”错误值。
"Driver=Microsoft Access Driver(*.mdb);DBQ="&Server.MapPath(db)用这种方式时返回“-2147467259”错误值。 因为Win2008 R2 是64位操作系統。而64位操作系统不支持Microsoft OLE DBProvider for Jet驱动程序,也不支持更早的Microsoft Access Driver(*.mdb)方式连接。所以用于 Access 和 Excel 数据库的 Microsoft OLE DB Provider forJet 在 64 位版本中不可用,也就是说,如下两种连接字符串都已经无法正常工作了:
"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.mappath(db)。
"driver=Microsoft Access Driver(*.mdb);DBQ="&Server.MapPath(db)。

解决方法:


打开IIS管理器,查看网站的高级属性
应用程序池选项,记住当前使用的应用程序池名称。
也可以在这里直接修改使用的应用程序池。强调一下,无论使用哪个应用程序池都是可以成功启用Access的
返回,点击左边应用程序池节点,查看刚才使用的应用程序池的高级属性(这里是DafaultAppPool)
启用32位应用程序选项设为True IIS的设置到此结束
接下来修改一些access临时要用的文件夹访问权限
C:\Windows\temp (典型路径,请根据实际安装路径确定)Users的可读写权限 (我开始的在应用程序池里设置了32位兼容运行,但是还显示错误。这个文件夹设置权限后就正常了, QQ:1508496092.有问题可以交流哦。)
C:\Windows\ServiceProfiles\NetworkService\AppDataLocal\Temp
给上面两个文件夹添加Users的可读写权限

如果还不足够,继续给C:\Inetpub\wwwroot\App_Data添加Users的可读写权限

评论

大侠名号:   验证暗号: 点击我更换图片

修远兮

在这里记录每一点自己需要的知识

添加创始人微信,一起交流心得

推荐文章RECOMMEND