既存の接続は、リモートホストによって強制的に閉じられました
質問
分析サービスキューブからデータを取得する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 Server 2008に接続するWindows 7クライアントがありました。そのため、サーバーのみに修正を適用する必要がありました。修正があります KB969083.
詳細をお探しの場合は、問題を見つけるためにかなりの検索が必要です。 KBは、上記の私の正確なエラーについてはまったく言及しておらず、明らかに、そのエラーはバグが現れる多くの方法の1つです。
必要に応じて、さらに読むための追加のリンクを次に示します。
所属していません StackOverflow