题
我们有一个WPF应用程序,该应用程序从分析服务立方体中获取数据。客户使用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种方法 数据。只有当我使用单元群时,此错误才会发生。
实际上,我可以使用相同的MDX语句,该语句会导致上面的异常使用XMLReader返回数据。只有当我使用细胞集时,异常才被抛弃。
有任何想法吗?
解决方案
事实证明,这是高级加密标准(AES)意识到的操作系统的Kerberos中的一个错误。这意味着Windows Vista+和Windows Server 2008+。显然它是在Windows 7和Windows Server 2008 R2中固定的。
在上面的情况下,我有Windows 7客户端连接到Windows Server 2008,因此我们需要仅将修复程序应用于服务器。解决方案是 KB969083.
如果您正在寻找更多详细信息,则需要进行大量搜索才能找到问题。 KB根本没有提及我的确切错误,显然,该错误是该错误表现出来的许多方式之一。
因此,如果您愿意,这里还有其他链接以进行进一步阅读:
不隶属于 StackOverflow