我创建了一个新的"报表服务器项目"在VS2013 .Net 4.5中。我添加了一个数据源,测试连接成功。我使用"使用我的报告中嵌入的数据集"添加了一个DataSet。选项选择先前创建的数据源。查询类型是带有单个文本参数的存储过程。在报告数据框中,我可以右键单击我的DataSet,选择Query,然后执行sproc。我看到网格正确填充了我的数据。
然而,当我尝试创建和预览报告时,它失败了。我做了以下事情:
这是在输出窗口中吐出的文本:
System.ServiceModel.CommunicationObjectFaultedException:The 沟通对象, System.ServiceModel.Channels.ClientFramingDuplexSessionChannel,不能 用于通信,因为它处于Faulted状态。
服务器堆栈跟踪:at System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrNotOpen() 在System.ServiceModel.Channels.OutputChannel.BeginSend(消息 消息,TimeSpan超时,AsyncCallback回调,对象状态)at System.ServiceModel.Dispatcher.DuplexChannelBinder.BeginRequest(消息 消息,TimeSpan超时,AsyncCallback回调,对象状态)at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.StartSend(布尔 完成同步) System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.FinishEnsureOpen(IAsyncResult的 结果,布尔完成(异步)at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.StartEnsureOpen(布尔 完成同步) System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.FinishEnsureInteractiveInit(IAsyncResult的 结果,布尔完成(异步)at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.StartEnsureInteractiveInit() 在System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.Begin() 在System.ServiceModel.Channels.ServiceChannel.BeginCall(String action,Boolean oneway,ProxyOperationRuntime操作,Object [] ins, TimeSpan超时,AsyncCallback回调,Object asyncState)at System.ServiceModel.Channels.ServiceChannelProxy.InvokeBeginService(IMethodCallMessage methodCall,ProxyOperationRuntime operation)at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(即时聊天 消息)
在[0]处重新抛出异常:at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(即时聊天 reqMsg,IMessage retMsg)at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&安培; msgData,Int32类型)at Microsoft.ReportDesigner.Design.IPreviewProcessing.BeginSetItemPath(字符串 itemPath,AsyncCallback回调,Object asyncState)at Microsoft.ReportDesigner.Design.PreviewProcessingClient.BeginSetItemPath(字符串 itemPath,AsyncCallback回调,Object asyncState)at Microsoft.ReportDesigner.Design.WCFProcessingHost<> c__DisplayClass1.b__0(的AsyncCallback ac,Object s)at Microsoft.ReportDesigner.Design.WCFProcessingHost<> c__DisplayClass3b.b__39() 在 Microsoft.ReportDesigner.Design.WCFProcessingHost.ExecuteWcfCall(动作 wcfCall)at Microsoft.ReportDesigner.Design.WCFProcessingHost.ExecuteAsyncCall(Func`3 beginAction,AsyncCallback endAction)at Microsoft.ReportDesigner.Design.WCFProcessingHost.set_ItemContext(PreviewItemContext 价值) Microsoft.Reporting.WinForms.LocalReport.ChangeReportDefinition(DefinitionSource updatesSourceType,Action changeAction)at Microsoft.Reporting.WinForms.LocalReport.set_ReportPath(String value) 在Microsoft.ReportDesigner.Design.PreviewFrame.RefreshPreview()
我用Google搜索了两天没有运气,我们非常感谢任何帮助。
修改 事实证明,当您预览报告时,此控制台窗口将打开。我必须在第一次关闭它,然后预览失败。如果您打开控制台窗口,预览工作正常。这是一个截图,以便您可以看到我在谈论的内容。为了让预览工作,我只需重新启动visual studio,并确保在我点击预览时弹出窗口时不要关闭控制台窗口。
答案 0 :(得分:4)
这是SSDT-BI中报告的错误。与此同时,当前的解决方法是右键单击要在解决方案资源管理器中预览的报表,然后单击“运行”,除非您要保持该命令提示符窗口处于打开状态,否则它将起作用。
答案 1 :(得分:0)
以管理员身份运行Microsoft Visual Studio将解决此问题。