Asp classic 经典的asp-64位MDAC参考问题

Asp classic 经典的asp-64位MDAC参考问题,asp-classic,Asp Classic,我得到了一个非常基本的test.asp页面,需要在64位服务器上运行 首先我试过 <!--METADATA TYPE="TypeLib" NAME="Microsoft ActiveX Data Objects 2.5 Library" UUID="{00000205-0000-0010-8000-00AA006D2EA4}" VERSION="2.5"--> <% .... more code MDAC仅在32位上可用 您必须将应用程序更改为目标x86(默认情况下,它

我得到了一个非常基本的test.asp页面,需要在64位服务器上运行

首先我试过

<!--METADATA TYPE="TypeLib" NAME="Microsoft ActiveX Data Objects 2.5 Library" UUID="{00000205-0000-0010-8000-00AA006D2EA4}" VERSION="2.5"-->
<% 
.... more code 


MDAC仅在32位上可用


您必须将应用程序更改为目标x86(默认情况下,它以任何CPU为目标)。它仍将在x64上运行,但内存空间较小。

Josip几乎正确,MDAC 2.5只有32位(2.8有64位的风格)。默认情况下,在64位服务器上,应用程序池将使用64位进程运行。它将在64位版本的系统配置单元中查找2.5类型库引用,但找不到(仅在32位版本中)


如果您编辑应用程序池设置,使其以32位运行,您应该会发现2.5参考将起作用。

thx以获取帮助。也许我错过了什么。。但这是ASP.net应用程序中的一个经典ASP页面。所以基本上我必须做任何编译。那么,为什么平台设置会影响结果呢?无论如何,为什么2.8的引用会起作用?@Josip:如果你认为答案不正确,你应该删除它。如果我在Regedit中查看引用下的内容。Microsoft ActiveX Data Objects 2.5库对文件C:\Program Files(x86)\Common Files\System\ado\msado25.tlp的引用和Microsoft ActiveX Data Objects 2.8库对文件C:\Program Files(x86)\Common Files\System\ado\msado15.dll的引用我想知道答案是否存在于引用“.tlp”vs.dll时的64位限制?谢谢你的回答,我相信你是对的。有一件事仍然没有答案。msado25.tlp类型库同时位于C:\Program Files\Common Files\System\ado和C:\Program Files(x86)\Common Files\System\ado中。为什么参考仅适用于2.8?谢谢您的时间,非常感谢。我想这是完整的,它们是一样的。唯一的区别是2.5没有在64位配置单元中注册。有理由不使用2.8吗?
<!--METADATA TYPE="TypeLib" NAME="Microsoft ActiveX Data Objects 2.8 Library" UUID="{2A75196C-D9EB-4129-B803-931327F72D5C}" VERSION="2.8"-->
<% 
... more code