我们有一个WPF应用程序,它从Analysis Services Cube获取数据。客户端使用ADOMD.NET直接连接到数据库。
WPF应用程序在现有的Windows XP计算机上运行良好。但Windows 7会引发以下错误:
System.Reflection.TargetInvocationException: An exception occurred during the operation, making the result invalid. Check InnerException for exception details. ---> Microsoft.AnalysisServices.AdomdClient.AdomdConnectionException: The connection either timed out or was lost. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
我已经进一步缩小了问题范围,以了解如何使用ADOMD.NET检索数据。根据我的理解,有4 methods to retrieve个数据。只有当我使用CellSet时才会发生此错误。
实际上,我可以使用导致上述异常的相同MDX语句,使用XmlReader很好地返回数据。只有当我使用CellSet时才会抛出异常。
有什么想法吗?
答案 0 :(得分:0)
事实证明,这是Kerberos在高级加密标准(AES)感知操作系统上的一个错误。这意味着Windows Vista +和Windows Server 2008+。显然它已在Windows 7和Windows Server 2008 R2中修复。
在上面的场景中,我将Windows 7客户端连接到Windows Server 2008,因此我们需要将修复程序仅应用于服务器。该修复程序位于KB969083。
如果您正在寻找更多详细信息,则需要花费大量时间进行搜索才能找到问题。 KB根本没有提到我的确切错误,显然,该错误是错误表现出来的众多方式之一。
如果您愿意,可以在此处获取进一步阅读的其他链接: