如何解决SQLXMLCommand错误并将其部署到IIS 6.0
| 尝试将ASP.NET应用程序从VS2010移动到IIS 6.0 Web服务器时出现错误。该错误在应用程序首次尝试在登录页面上创建新的SQLXMLCommand对象时发生。 导航到登录页面并输入有效凭据时,出现错误,提示抛出空引用异常。对异常进行调查后,我们能够确定正在抛出并捕获另一个异常,从而在代码稍后导致了空引用异常。 对应的代码行抛出异常:New SqlXmlCommand(conn.ConnectionString & \";Provider=SQLOLEDB.1;\")
导致以下问题的异常:
\ CLSID为{83D0FC3E-8B31-4B35-A1B2-346BA3954514}的组件的COM类工厂检索失败,由于以下错误:80040154未注册类(HRESULT的异常:0x80040154(REGDB_E_CLASSNOTREG))。
System.Runtime.InteropServices.COMException(0x80040154):由于以下错误,检索具有CLSID {83D0FC3E-8B31-4B35-A1B2-346BA3954514}的组件的COM类工厂失败:80040154类未注册(HRESULT的异常:0x80040154(REGDB_E_CLASSNOTREG ))。在System.RuntimeType.CreateInstanceSlow(在System.RuntimeType.CreateOnlyDefaultCtor(RuntimeType类型,布尔publicOnly,布尔noCheck,布尔&canBeCached,RuntimeMethodHandleInternal&ctor,布尔&bNeedSecurityCheck)处,位于Microsoft.Data.SqlXml.SqlXmlCommand.fillManagedWrapper()处于System.Activator.CreateInstance(Type type,Boolean nonPublic)处,位于Microsoft.Data.SqlXml.SqlXmlCommand.construct()处具有布尔skipVisibilityChecks,布尔skipCheckThis,布尔fillCache)。 Data.SqlXml.SqlXmlCommand..ctor(String cnString)at dialog.login.UserLogin(String username,St
2011年6月15日11:40:52.104 CriticalError错误N / A 58 \“ http://sigappsdv/dialogue/login.aspx \” dialog.login.UserLogin ---> \“ Web服务在System.RuntimeTypeHandle.CreateInstance处失败2 (RuntimeType类型,布尔publicOnly,布尔noCheck,布尔&canBeCached,RuntimeMethodHandleInternal&ctor,布尔&bNeedSecurityCheck)位于System.RuntimeType.CreateInstanceSlow(布尔publicOnly,布尔skipCheckThis,布尔fillCache)位于System.RuntimeType.CreateInstanceDefaultCtor(布尔publicOnCheck,布尔skipVisibility ,位于System.Activator.CreateInstance(类型类型,布尔非公共)处的Microsoft.Data.SqlXml.SqlXmlCommand.fillManagedWrapper()处的Microsoft.Data.SqlXml.SqlXmlCommand.construct()处的Microsoft.Data.SqlXml.SqlXmlCommand。 .ctor(String cnString)at dialog.login.UserLogin(String username,String password,String lang)\“
进一步研究该问题,仅在Web服务器上引发该异常。如果我使用本地主机,则不会引发任何异常。我虽然可能缺少对Microsoft.Data.SqlXml.dll的引用,因为它正在运行localhost,而不是在Web服务器上。我尝试通过在部署项目中包含dll参考来解决此问题,并确保将其添加到bin文件夹中,但无济于事。
谢谢您的帮助。
编辑:
我们的网络服务器上未安装SQLXML 4.0,这是我的计算机进行基准安装的一部分。
解决方法
除了托管SQLXML程序集之外,您还需要在服务器上安装本机SQLXML库。
SQLXML库在http://msdn.microsoft.com/zh-cn/library/ms171779.aspx中有说明,您可以在http://www.microsoft.com/download/en/details.aspx中找到安装程序?displaylang = zh-CN&id = 8824
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。