1

SQL Server 分析サービスに対して MDX クエリを実行するコードをいくつか書きました。私の開発マシンでの単体テストは正常に動作しますが、TeamCity のインストールでも単体テストが実行され、分析サービスに接続しているものだけが次のような例外を示します。

Test method GetNumCompaniesPerIndustryTest threw exception: 
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

これは、接続文字列が正しくないときに発生していたエラーです。奇妙なことに、TeamCity を搭載したサーバーにも VS 2010 がインストールされているため、/buildAgent/work フォルダーからソリューションを開いて単体テストを実行できます。すべてのテストは VS から正常に動作するため、接続の問題はないようです。接続文字列は、アプリケーション スコープの DLL 内の設定ファイルにあります。

4

3 に答える 3

0

QA 環境が、対応するユーザーの別のアプリケーション プールで実行されていることが判明しました。このユーザーを BI データベース ユーザーに追加する必要がありました。

于 2012-10-18T11:06:34.013 に答える
0

パーミッションかもしれません。TeamCity ビルド エージェントはどのアカウントで実行されていますか? これは、マシンにログインしているのと同じアカウントですか? サービスで使用している認証の種類は何ですか?

于 2012-05-09T16:25:35.567 に答える
0

「既存の接続がリモート ホストによって強制的に閉じられました」というエラーは、多くの場合、分析サーバーの「TCP Chimney オフロード」設定が原因で発生します。詳細については、このリンクを参照してください。

設定をオフにするには、分析サーバーのコマンド シェルで次のコマンドを実行します。

Netsh int ip set chimney DISABLED
于 2012-05-09T19:04:24.703 に答える