Win7升级Win10后IIS 10中MDB数据库无法访问问题求助
问题原因与解决方案
你的问题核心是Windows 10 + IIS 10环境不再默认支持老旧的Microsoft.Jet.OLEDB.4.0驱动,且Jet驱动仅支持32位,在当前主流64位系统下运行会直接导致程序崩溃。以下是具体修复方案:
1. 替换数据库连接驱动字符串
将原代码中的Jet驱动替换为微软推荐的ACE驱动(兼容64位/32位系统,同时支持MDB格式),修改后的代码如下:
Set adoCon2 = Server.CreateObject("ADODB.Connection") adoCon2.Open "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Server.MapPath("data/cwardead.mdb") Set rswardead2 = Server.CreateObject("ADODB.Recordset")
2. 安装Access Database Engine(ACE)驱动
需下载并安装对应系统位数的ACE驱动:
- 64位系统:直接安装64位ACE驱动
- 若站点需以32位模式运行,安装32位ACE驱动(64位系统下安装32位驱动需使用
/passive静默参数,避免与64位Office组件冲突)
3. 调整IIS应用池设置(可选,若暂不想更换驱动)
如果坚持使用旧Jet驱动,需将站点对应的应用池设置为允许32位应用:
- 打开IIS管理器,找到站点关联的应用池
- 右键选择「高级设置」,将「启用32位应用程序」设置为
True
4. 检查文件权限
确保data文件夹和cwardead.mdb文件拥有IIS_IUSRS用户的读写权限:
- 右键目标文件夹/文件 → 「属性」→ 「安全」→ 添加IIS_IUSRS用户,勾选「读取」「写入」权限
内容的提问来源于stack exchange,提问作者chtyrone
相关产品推荐
相关产品推荐

