SSRS电子邮件订阅今天早上没有用。我看到的错误消息是“发送邮件失败:报告处理过程中出错。邮件将不会被重新发送。”当我检查日志文件时,我发现报告中的多个数据集中存在错误。该报告正在从Sharepoint读取数据。请在下面找到日志文件中的错误。
处理!WindowsService_22!c0c!08/21 / 2017-06:00:34 :: e错误:投掷 Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: 数据集“WORK_PACKS”的查询执行失败。 ---> System.ArgumentException:具有相同键的项已经存在 添加。在 System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) 在System.Collections.Generic.Dictionary'2.Insert(TKey键,TValue value,Boolean add)at System.Collections.Generic.Dictionary'2.Add(TKey键,TValue值) 在 Microsoft.ReportingServices.DataExtensions.SharePointList.SPRemoteCommand.DataReader..ctor(SPRemoteCommand 命令,CommandBehavior行为)at Microsoft.ReportingServices.DataExtensions.SharePointList.SPRemoteCommand.CreateDataReader(SPCommandBase 命令,CommandBehavior行为)at Microsoft.ReportingServices.DataExtensions.SharePointList.SPCommandBase.ExecuteReader(的CommandBehavior 行为) Microsoft.ReportingServices.OnDemandProcessing.RuntimeDataSet.RunEmbeddedQuery(布尔&安培; readerExtensionsSupported,Boolean& readerFieldProperties,List'1 queryParams,Object [] paramValues)---内部异常堆栈的结束 痕迹---;处理!WindowsService_22!a88!08/21 / 2017-06:00:34 :: e 错误:投掷 Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: 数据集'CONSTRUCTION_ACTIVITIES'的查询执行失败。 ---> System.ArgumentException:具有相同键的项已经存在 添加。在 System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) 在System.Collections.Generic.Dictionary'2.Insert(TKey键,TValue value,Boolean add)at System.Collections.Generic.Dictionary'2.Add(TKey键,TValue值)
在 Microsoft.ReportingServices.DataExtensions.SharePointList.SPRemoteCommand.DataReader..ctor(SPRemoteCommand 命令,CommandBehavior行为)at Microsoft.ReportingServices.DataExtensions.SharePointList.SPRemoteCommand.CreateDataReader(SPCommandBase 命令,CommandBehavior行为)at Microsoft.ReportingServices.DataExtensions.SharePointList.SPCommandBase.ExecuteReader(的CommandBehavior 行为) Microsoft.ReportingServices.OnDemandProcessing.RuntimeDataSet.RunEmbeddedQuery(布尔&安培; readerExtensionsSupported,Boolean& readerFieldProperties,List`1 queryParams,Object [] paramValues)---内部异常堆栈的结束 痕迹---;处理!WindowsService_22!a88!08/21 / 2017-06:00:34 :: e 错误:数据集中发生异常 'CONSTRUCTION_ACTIVITIES'。细节: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: 数据集'CONSTRUCTION_ACTIVITIES'的查询执行失败。 ---> System.ArgumentException:具有相同键的项已经存在 添加。处理!WindowsService_22!c0c!08/21 / 2017-06:00:34 :: e ERROR: 数据集'WORK_PACKS'中发生异常。细节: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: 数据集“WORK_PACKS”的查询执行失败。 ---> System.ArgumentException:具有相同键的项已经存在 添加。处理!WindowsService_22!c0c!08/21 / 2017-06:00:34 :: e ERROR: 投掷 Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException: , Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException: 报告处理期间发生错误。 ---> Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: 数据集'CONSTRUCTION_ACTIVITIES'的查询执行失败。 ---> System.ArgumentException:具有相同键的项已经存在 加入
答案 0 :(得分:1)
错误消息中描述的问题(很差)。我从来没有喜欢过这个错误信息,但我已经看过很多次了。
数据集' WORK_PACKS'的查询执行失败。 ---> System.ArgumentException:具有相同键的项已经存在 加入。
这意味着名为WORK_PACKS的数据集具有多次返回的具有相同名称或无名称的字段。
要修复它,请找到查询并更正查询,以便字段名称都是唯一的。确保从SharePoint获得的内容不会多次为您提供具有相同名称的字段。这可能意味着RDL需要更新。
将更改部署到报告服务器后,报告和订阅应该可以正常工作。