我编写了一些针对 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 内的设置文件中。