3

可能重复:
我可以在几个实例中关闭模拟吗

我创建了一个应用程序,当上传到我的服务器时会引发异常。它在本地工作正常,但是当我将它上传到我的服务器时,我收到以下错误:

System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host

这是我的连接字符串:

AdomdConnection conn = new AdomdConnection("Data Source=BTN-SQL1;Initial Catalog=BTNTurboAnalysisServices;");

值得注意的是,BTN-SQL1 与我的 Web 服务器位于不同的服务器上,这会导致问题吗?我也在使用 Windows 身份验证。

下面是我的堆栈跟踪:

[SocketException (0x2746): An existing connection was forcibly closed by the remote host]
   System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) +245

[IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.]
   System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) +7856541
   System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count) +253
   Microsoft.AnalysisServices.AdomdClient.DimeRecord.ForceRead(Stream stream, Byte[] buffer, Int32 length) +61
   Microsoft.AnalysisServices.AdomdClient.DimeRecord.ReadHeader() +53
   Microsoft.AnalysisServices.AdomdClient.DimeReader.ReadRecord() +112
   Microsoft.AnalysisServices.AdomdClient.TcpStream.GetResponseDataType() +120

[AdomdConnectionException: The connection either timed out or was lost.]
   Microsoft.AnalysisServices.AdomdClient.XmlaClient.EndRequest() +1367
   Microsoft.AnalysisServices.AdomdClient.XmlaClient.CreateSession(ListDictionary properties, Boolean sendNamespaceCompatibility) +387
   Microsoft.AnalysisServices.AdomdClient.XmlaClientProvider.Microsoft.AnalysisServices.AdomdClient.AdomdConnection.IXmlaClientProviderEx.CreateSession(Boolean sendNamespaceCompatibility) +148
   Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectToXMLA(Boolean createSession, Boolean isHTTP) +235
   Microsoft.AnalysisServices.AdomdClient.AdomdConnection.Open() +973
   btn_intranet.Areas.Sales.Controllers.HomeController.CumulativeChart(String month, String year) in <path to file>/HomeController.cs:52
   lambda_method(Closure , ControllerBase , Object[] ) +182
   System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +264
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +39
   System.Web.Mvc.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() +129
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +798650
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +314
   System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +798704
   System.Web.Mvc.Controller.ExecuteCore() +159
   System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +335
   System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +62
   System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +20
   System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +54
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +469
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +375

任何帮助将不胜感激,谢谢!

4

3 回答 3

0

I would recommend verifying that the firewall on the SQL Server machine doesn't block your request.

于 2011-10-21T10:35:16.667 回答
0

看起来您正在通过 MVC 访问,那么您的 IIS 应用程序池身份是否有权访问 SSAS 实例?您可能需要创建一个 Windows(理想情况下是域)帐户,并让应用程序池在该帐户下运行,授予其访问 SSAS 的权限。

于 2011-10-21T10:33:40.960 回答
0

我已经设法解决了这个问题。基本上,我只是通过使用此处找到的解决方案禁用了导致问题的特定方法的模拟:

我可以在几个情况下关闭模拟吗

于 2011-11-08T09:30:48.057 回答