我在 VS2013 .Net 4.5 中创建了一个新的“报表服务器项目”。我添加了一个数据源,测试连接成功。我已经使用“使用嵌入在我的报表中的数据集”选项添加了一个数据集,并选择了之前创建的数据源。查询类型是带有单个文本参数的存储过程。在报告数据框中,我可以右键单击我的数据集,选择查询,然后执行 sproc。我看到一个用我的数据正确填充的网格。
但是,当我尝试创建和预览报告时,它失败了。我执行以下操作:
这是吐到输出窗口中的文本:
System.ServiceModel.CommunicationObjectFaultedException: The communication object, System.ServiceModel.Channels.ClientFramingDuplexSessionChannel, cannot be used for communication because it is in the Faulted state.
Server stack trace: at System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrNotOpen() at System.ServiceModel.Channels.OutputChannel.BeginSend(Message message, TimeSpan timeout, AsyncCallback callback, Object state) at System.ServiceModel.Dispatcher.DuplexChannelBinder.BeginRequest(Message message, TimeSpan timeout, AsyncCallback callback, Object state) at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.StartSend(Boolean completedSynchronously) at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.FinishEnsureOpen(IAsyncResult result, Boolean completedSynchronously) at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.StartEnsureOpen(Boolean completedSynchronously) at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.FinishEnsureInteractiveInit(IAsyncResult result, Boolean completedSynchronously) at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.StartEnsureInteractiveInit() at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.Begin() at System.ServiceModel.Channels.ServiceChannel.BeginCall(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, TimeSpan timeout, AsyncCallback callback, Object asyncState) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeBeginService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at Microsoft.ReportDesigner.Design.IPreviewProcessing.BeginSetItemPath(String itemPath, AsyncCallback callback, Object asyncState) at Microsoft.ReportDesigner.Design.PreviewProcessingClient.BeginSetItemPath(String itemPath, AsyncCallback callback, Object asyncState) at Microsoft.ReportDesigner.Design.WCFProcessingHost.<>c__DisplayClass1.b__0(AsyncCallback ac, Object s) at Microsoft.ReportDesigner.Design.WCFProcessingHost.<>c__DisplayClass3b.b__39() at Microsoft.ReportDesigner.Design.WCFProcessingHost.ExecuteWcfCall(Action wcfCall) at Microsoft.ReportDesigner.Design.WCFProcessingHost.ExecuteAsyncCall(Func`3 beginAction, AsyncCallback endAction) at Microsoft.ReportDesigner.Design.WCFProcessingHost.set_ItemContext(PreviewItemContext value) at Microsoft.Reporting.WinForms.LocalReport.ChangeReportDefinition(DefinitionSource updatingSourceType, Action changeAction) at Microsoft.Reporting.WinForms.LocalReport.set_ReportPath(String value) at Microsoft.ReportDesigner.Design.PreviewFrame.RefreshPreview()
我已经用谷歌搜索了两天没有运气,非常感谢任何帮助。
编辑:
事实证明,当您预览报告时,此控制台窗口会打开。我一定是第一次关闭它,然后预览失败。如果您让控制台窗口保持打开状态,则预览效果很好。这是一个截图,所以你可以看到我在说什么。为了让预览工作,我只需要重新启动 Visual Studio,并确保在我点击预览时弹出的控制台窗口不要关闭。
最佳答案
这是 SSDT-BI 中报告的错误。与此同时,当前的解决方法是右键单击您要在解决方案资源管理器中预览的报告,然后单击运行,除非您希望该命令提示符窗口保持打开状态,否则它将起作用。
关于reporting-services - 无法在 VS2013 中预览 SSRS 报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24934317/