Asp.net 是COM+;2012 64位windows服务器上支持的组件公开ADODB?

Asp.net 是COM+;2012 64位windows服务器上支持的组件公开ADODB?,asp.net,asp-classic,64-bit,windows-server-2012,com+,Asp.net,Asp Classic,64 Bit,Windows Server 2012,Com+,我们正在将某些COM+组件从VB6.0迁移到C#.Net。我在代码转换(重写)方面面临一些挑战,一件事是这个特殊的COM+组件将被多个经典asp应用程序使用,这些应用程序要么将ADODB记录集作为输入参数传递,要么将其作为输出参数接受。在开发一段代码并在32位机器上进行本地测试之后,我能够构建connectionstring并传递和接受记录集。但当我将代码迁移到windows 2012 R2 64位服务器时。我在尝试创建DLL对象时看到错误 所以我的问题是,是否可以在64位机器上使用记录集并通过

我们正在将某些COM+组件从VB6.0迁移到C#.Net。我在代码转换(重写)方面面临一些挑战,一件事是这个特殊的COM+组件将被多个经典asp应用程序使用,这些应用程序要么将ADODB记录集作为输入参数传递,要么将其作为输出参数接受。在开发一段代码并在32位机器上进行本地测试之后,我能够构建connectionstring并传递和接受记录集。但当我将代码迁移到windows 2012 R2 64位服务器时。我在尝试创建DLL对象时看到错误


所以我的问题是,是否可以在64位机器上使用记录集并通过COM+公开它?

我不明白为什么它天生就不起作用。这个“错误”是什么?什么是“创建对象”?使用这个DLL,我们应该公开3个模块,我们实例化我们得到错误的对象。服务器对象错误“ASP 0177:80004005”Server.CreateObject失败您可以尝试在与您的网站关联的应用程序池的高级设置中将“启用32位应用程序”设置为True。scdudel,我已经完成了此操作,构建tlb、dll并将其作为组件服务部署在服务器上,并具有用户的正确访问权限。我在论坛的某个地方读到,特别是ADODB在64位环境下将不受支持,所以只要澄清一下,schudel就会给你们正确的答案:启用32位应用程序设置将有所帮助。我们在2008R2和2012上使用的是旧的32位COM,它使用的是ADODB-一切正常。尝试查看COM组件的所有安全性:“标准件”文件权限以及“组件服务”启动和活动权限。