1

我有一个使用 SQLXML 访问数据库数据的应用程序。我们让它在 Windows 2003 服务器和 SQL Server 2005 上运行。现在客户端想要在 Windows 2008 和 SQL Server 2008 上安装它,我们收到如下错误:
Microsoft.Data.SqlXml.SqlXmlException: Class not registered ---> System.Runtime.InteropServices.COMException (0x80040154):类未在 Microsoft.Data.SqlXml.Common.UnsafeNativeMethods 注册。ISQLXMLCommandManagedInterface.ExecuteToOutputStream() 在 Microsoft.Data.SqlXml.SqlXmlCommand.innerExecute(Stream strm) ...等

这真让我抓狂。SQLXML 是一种相当过时的技术,我们正在尝试将它与最新的 SO 一起使用。我找不到有关 SQLXML 和 Windows 2008 的官方信息,它似乎不受官方支持,但他们也没有说它也不支持。

SQLXML4.0SP1 安装似乎工作正常,但似乎在运行时失败。

你有什么想法?有人尝试过这样的事情吗?

4

4 回答 4

2

SQLXML 4.0 SP1 的包仅可在 2009 年 4 月版的 Microsoft SQL Server 2008 功能包中下载。不知道为什么它们没有出现在 2008 R2 功能包中,但它们没有出现。

这是您指向功能包
的链接 指向适当版本的 SQLXML 4.0 SP1 的直接链接可在该页面上找到

于 2012-01-17T00:40:59.637 回答
0

我的建议是利用它适用于 SQL 2005 的事实将代码转换为不使用 SQLXML。您可以利用它有效的事实来创建证明它有效的测试。然后进行转换,并再次测试。如果测试仍然显示它有效,那么您已经摆脱了过时的技术,而仍然有人知道过时的技术意味着什么。

否则,在找到解决此直接问题的方法(可能重新安装 MSXML)之后,您将在 20 年后进行此讨论,但不同的是,没有人知道 SQLXML 曾经是什么。

于 2009-03-11T11:15:54.890 回答
0

默认情况下,SQLXML 未安装到 SQLServer。您应该运行 SQL Server 安装程序,并添加 SQLXML 功能。我的意思是 SQL Server 2008。

于 2009-06-04T08:45:31.473 回答
0

您可能正在使用 SQLXML 4.x 中不支持的 ISAPI 功能

在 Win 2008 Server (Vista,7) 上安装 SQLXML 3.0 并为 IIS 7.x 更改IIS 6 管理兼容性- 允许 IIS 6 元数据库兼容性和 IIS 6 管理控制台(在管理工具/服务器管理器/“角色 - 网络服务器 (IIS)”中/“角色服务”)。

在 64 位 Win Server 2008 上为 IIS/应用程序池“启用 32 位应用程序”。

于 2010-06-17T10:17:13.817 回答