前几天安装好了 Windows 2003 64bit RC2 以后,昨天把小樱之町的数据转移了过来。本想用这台机子来测试YT的流量的,但是却遇到了一个很麻烦的问题。
首先我自然是打开YT论坛的首页,但是这个时候却出现了我自定义的数据库连接错误页面,错误描述是未找到提供程序。该程序可能未正确安装。偶汗个,一开始还不知道是什么问题,接着仔细一想,好像是JET引擎的问题嘛。我打开管理工具里面的“数据源(ODBC)”,看到里面的用户DSN虽然有对mdb数据库的支持,但是试图对其进行配置的时候却显示“找不到ODBC驱动的安装例程”,这样子看来应该是JET的ODBC驱动没有安装。转到“驱动程序”选项卡一看,果然没有JET引擎。我就想去微软的网站下载,可是在微软那找来找去就是找不到这个驱动。没办法了,只好百度一下看看别人有没有解决办法。
百度过后果然发现了一个办法,就是让IIS以32位的方式运行,只要在命令行输入一下命令
cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
之后IIS就会以32位方式来运行了。因为JET引擎实际上是存在的,但它是32位的,与64位的IIS兼容性有问题,于是64位的IIS就无法认出来,显示的错误就是找不到JET引擎。
可是我按照这个方法来设置以后再访问,却显示 Service Unavailable(樱町经典错误啊 = =||)。一直刷新一直都是SU(Service Unavailable),我猜可能与应用程序池有关,于是我就查看应用程序池的设置,最后发现,只要禁用“启用快速失败保护”就不会出现SU了,但是这样网页还是不能显示出来,页面一直是一片空白。这是我想看看w3wp.exe占用了多少资源,可能能从中发现什么问题,于是就打开了任务管理器想查看w3wp.exe的资源占用情况。可打开了任务管理器以后,我却发现了不止一个w3wp.exe进程,仔细看了看,原来是w3wp.exe频繁地生成然后又结束,这在任务管理器中就显示成了几个进程。我就猜想,应该是有什么东西阻碍了w3wp.exe的正常启动,而如果启用了“启用快速失败保护”的话,在分钟内w3wp.exe非正常停止的次数肯定会超过5次,于是应用程序池就被自动禁止,网站就SU了。真是令人郁闷。
没办法了,只好继续问搜索引擎,问了百度没有结果,再去问谷歌。在谷歌那里我找到了一篇英文文章,中文文章都已经看过了,只好看看英文的了,虽然很难看懂。这篇文章大概的意思是说,64位的IIS无法加载32位的ASP.Net模块,32位的IIS也无法加载64位的ASP.Net模块,看到这里我突然想到,会不会是因为把IIS设为以32位方式运行后,其ASP.Net扩展还是64位的而无法启动呢?我一查看,果然加载的是64位的ASP.Net模块。于是我把加载64位的ASP.Net扩展改成加载32位的ASP.Net扩展以后,重启IIS,终于讨厌的“未找到提供程序……”的错误没有了!
不过错误还没完,这回显示的错误是“操作必须使用一个可更新的查询”。这个……老问题了嘛,不就是数据库没有写权限嘛。把写权限给数据库文件加上,刷新,樱町的首页就出现在眼前了。
在 Windows 2003 64位 下ASP无法连接Access数据库的问题
14 thoughts on “在 Windows 2003 64位 下ASP无法连接Access数据库的问题”
F-22's Trace
greensea 的个人主页
sky-city
极夜奁
小樱之町
记一下,回去试试,以前试过一次没搞定后来就用Win2008x64的了,呵呵。还是感觉2003好些小巧不那么大,呵呵。
怎么样把64位的ASP.Net扩展改成加载32位的ASP.Net扩展?能否讲一下具体步骤?
这事过去太久我也记不清楚了,好像是ASP.NET安装的时候,32位版本和64位版本是安装在不同的文件夹里面的,在IIS里面将.Net的映射改成映射到32位.Net安装目录里面的文件似乎就可以了
http://dev.mysql.com/downloads/mysql/5.0.html#winx64
偶代表得到帮助了的人表示感谢
囧,我记得没意思有x64的
随便给个下载地址嘛
window 2003 x64 下安装 32为 mysql。经过我反复试验都是失败的。请教你一下。
MySQL我没有测试过,我只做了Access的测试
为什么不使用64位的MySQL呢
自己机器上ASP连接ACCESS数据库的时候。产生下面的错误
请问该如何解决呀?
ADODB.Connection 错误 '800a0e7a'
未找到提供程序。该程序可能未正确安装。
把解决方案发到我邮箱好吗?
jmone2006@126.com
谢谢啦!
conn.open("Provider=xxx…….")
检查看看Provider后面的名字是不是写对了
我用的是windows2008 64位版本:
The 32-bit version of the Odbcad32.exe file is located in the %systemdrive%WindowsSysWoW64 folder.
The 64-bit version of the Odbcad32.exe file is located in the %systemdrive%WindowsSystem32 folder.
p单位的服务器装的全是32位2003,正好这次新上刀片服务器,趁大部分服务器都要转移的机会,我就把大多数服务器都换成了Winodws Server R2 2003 企业版。/pp不过,很快就发现决定有些仓促了:ASP在Winodws Server 2003 X64中连Access数据库总是报找不到驱动,到ODBC管理器中看了一下,发现竟然2003默认只自带SQL的驱动,没办法,找微软的Jet驱动找了一天,结果也没找到可用的。/pp今天一来也顾不上服务器上不应该装无关软件的问题
那你的具体情况是怎样的?