当前位置:首页 >> 服务器

WIN7/win2008 r2 X64系统IIS 7.5 ACCESS数据库连接故障解决方法

在WIN7 X64系统或其它WINDOWS X64系统的IIS,使用JET连接不上ACCESS数据,
常见错误提示:

ADODB.Connection 错误 '800a0e7a',未找到提供程序。该程序可能未正确安装。



Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

原因是没有64位系统的JET驱动。

解决方法一:

开始 – 运行 – 输入”cmd” ,键入以下命令启用IIS的32 位模式:
(1)如果是IIS6
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
(2)如果是IIS7:
appcmd list apppool /xml | appcmd set apppool /in /enable32BitAppOnWin64:true

注意:

APPcmd.exe 位于 C:\Windows\System32\inetsrv 目录
使用 Cd c:\Windows\System32\inetsrv 切换到该目录,
如果不切换会提示APPcmd不是内部或外部命令,也不是可以运行的程序,或批处理文件。

解决方法二:
修改应用程序池的“高级设置”。

打开IIS管理器,点击左边的“应用程序池”,在视图中右键DefaultAppPool或你网站的独立应用程序池名字,选择高级设置,修改如下图:
WIN7/win2008 r2 X64系统IIS 7.5 ACCESS数据库连接故障解决方法
WIN7/win2008 r2 X64系统IIS 7.5 ACCESS数据库连接故障解决方法
WIN7/win2008 r2 X64系统IIS 7.5 ACCESS数据库连接故障解决方法

把启用32位应用程序设为True.
 

解记方法三:

使用新版本的数据驱动

下载安装:Microsoft Access Database Engine 2010 Redistributable for x64

修改连接字符串:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=;User ID=;Password=;
Data Source\User ID\Password按照实际情况设置。

但ACE和Jet的数据驱动是有差别的,经测试某些程序需要修改,但也不知道怎样改,这方法并不算好。

推荐使用第二种方法,注意你的网站是否是独立的应用程序池,
如果是,修改默认的应用程序池没有作用,需要修改该网站名称的应用程序池。