Asp classic 组件服务应用程序在Windows Server 2012上未正常运行
我对这些旧东西还不熟悉。。。我已经在Windows Server 2012上设置了COM+应用程序(经典ASP),但只能通过取消选中应用程序属性中的“强制对此应用程序进行访问检查”来运行它。它现在运行正常,但每当应用程序试图以任何方式访问数据库时,我都一无所获。我已经检查了对必要文件夹的访问权限(据我所知),并且用户(身份选项卡中的本地用户)具有读/写权限。有什么想法吗?还需要更多信息吗?您可能已经知道,Windows Server版本是权限问题(又称用户身份问题)不断变化的雷区。在2008年起作用的东西在2012年可能不再起作用 经典ASP解决方案中的组件几乎都有可能在Windows环境中以不同的身份运行 意外标识的典型示例包括系统、网络服务和IUSR 这些选项的位置如下,例如:Asp classic 组件服务应用程序在Windows Server 2012上未正常运行,asp-classic,windows-server-2012,com+,Asp Classic,Windows Server 2012,Com+,我对这些旧东西还不熟悉。。。我已经在Windows Server 2012上设置了COM+应用程序(经典ASP),但只能通过取消选中应用程序属性中的“强制对此应用程序进行访问检查”来运行它。它现在运行正常,但每当应用程序试图以任何方式访问数据库时,我都一无所获。我已经检查了对必要文件夹的访问权限(据我所知),并且用户(身份选项卡中的本地用户)具有读/写权限。有什么想法吗?还需要更多信息吗?您可能已经知道,Windows Server版本是权限问题(又称用户身份问题)不断变化的雷区。在2008年起
- 在IIS中,您的网站有一个指定的应用程序池,在其中运行。应用程序池具有用户身份分配李>
- 在IIS中,您的虚拟文件夹映射到Windows下的物理文件夹,并且存在访问安全性李>
- 使用COM,您可以进一步设置标识选项-这是“运行方式”标识,它是为您执行COM组件的有效用户
- 使用诸如MS SQL Server之类的数据库,您可以获得用户连接安全性的概念,可以将其设置为使用Windows用户身份验证(信任Windows用户)或所需的用户ID/pwd。因此,如果在代码中使用ADODB,则必须提供一个连接字符串,该字符串必须与DB期望并允许的连接设置相匹配
编辑:当你的评论进来时,我已经写了一半了。你说缺少一个组件——我没有考虑到这一点,因为你似乎在说配置有效,但COM无效。很好地解决了你的问题。我将把这个答案留在原地,因为我所写的一些东西可能对未来走相同或相似道路的人们有用 什么样的数据库?是阿多还是别的?什么类型的连接字符串(如果有)?请提供有关数据库连接的更多信息。你能创建一个ODBC连接,从同一台服务器上成功地进行测试吗?听起来像是对数据库的访问权限。根据连接到DB的方式,这可能是COM组件代码中硬编码连接字符串的问题,或者COM组件设置中的运行方式标识不正确。您认为数据库连接是如何工作的?是硬编码的连接字符串,还是数据库使用Windows身份验证?谢谢大家-我们使用的是SQL server,我相信是数据库使用Windows身份验证。。。遗憾的是,我99%的时间都在.NET中工作,而且不理解旧代码@VanquishedWombat我认为您可能对com组件设置中不正确的运行方式标识是正确的。。。我刚换了我自己的账户,最后得到了要显示的数据。但是,我仍然不知道为什么我们的普通服务帐户不能工作,因为我相信它拥有与我的帐户相同甚至更多的权限。因此,我必须添加一个缺少的数据访问组件。由于某种原因,我第一次添加它时它不起作用,但现在它起作用了。是否正在禁用com组件,然后启用并再次启动它。。。或者这个线程:。。。有些东西使它起作用了。感谢您帮助我使用ODBC连接走上正确的道路,并使用正确的运行方式标识。如果你们三个人中有人给我回信,我会接受的。