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或你网站的独立应用程序池名字,选择高级设置,修改如下图:
把启用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的数据驱动是有差别的,经测试某些程序需要修改,但也不知道怎样改,这方法并不算好。
推荐使用第二种方法,注意你的网站是否是独立的应用程序池,
如果是,修改默认的应用程序池没有作用,需要修改该网站名称的应用程序池。