none
数据库服务器和crm程序服务器独立部署,产生的报表无法上载问题!!! RRS feed

  • 问题

  • 环境说明:
    1、CRM程序服务器 和 数据库服务器 分布在两台独立的服务器上,win2003 sq2 + sql2005 sq3
    2、MSCRM 4.0
    3、运行其他模块基本正常,但创建新报表时则报错(简单的在CRM视图中创建那种),提示‘上载报表时出错’,Error Upload Reports
    4、在数据库服务器,已经安装SSRS-sql server reporting services,安装过程中没有报错现象,应该是成功安装。
    5、http://<serverhost>/reports  可以运行出界面,但是主文件夹中 ,没有任何文件。
    6、我在测试服务器上部署的CRM(数据和程序文件跟真实CRM一致),CRM程序服务器和数据库服务器 同属一个服务器,运行报表正常。

    问题:使用报表向导,创建新报表时报错(简单的在CRM视图中创建那种),提示‘上载报表时出错’,Error Upload Reports

    折腾了一周了,目前尚未找到解决方法,在网上也没找到分开部署时,报表服务器要做那些设置
    请各位不吝赐教啊!期待...

    附Trace:

    ===========报错信息======================
    at ErrorInformation.LogError()
    at ErrorInformation..ctor(Exception exception, Uri requestUrl, Boolean logError)
    at ErrorInformation..ctor(Exception exception, Uri requestUrl)
    at MainApplication.Application_Error(Object sender, EventArgs eventArguments)
    at EventHandler.Invoke(Object sender, EventArgs e)
    at HttpApplication.RaiseOnError()
    at HttpApplication.RecordError(Exception error)
    at ApplicationStepManager.ResumeSteps(Exception error)
    at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
    at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
    at HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr)
    at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
    >MSCRM Error Report:
    --------------------------------------------------------------------------------------------------------
    Error: Exception of type 'System.Web.HttpUnhandledException' was thrown.
    Error Number: 0x80048298
    Error Message: 找不到项“/CMK_MSCRM/4.0”。
    Error Details: 找不到项“/CMK_MSCRM/4.0”。
    Source File: Not available
    Line Number: Not available
    Request URL: http://127.0.0.1/CMK/CRMReports/AdHocWizard/SuccessFailurePage.aspx?id=&CRMWRPCToken=SXt4ATvrEeGjtgAk6HlkklgloXu0Fw2BDGJlS3YIjAqyNgWGS5u7WYcrsUj5Dbym&CRMWRPCTokenTimeStamp=634640853671650647
    Stack Trace Info: [SoapException: 找不到项“/CMK_MSCRM/4.0”。 ---> 找不到项“/CMK_MSCRM/4.0”。]
    at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
    at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
    at Microsoft.Crm.ReportingServices2005.ReportingService2005.CreateReport(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties)
    at Microsoft.Crm.Reporting.ReportServer.UploadReport(String path, Byte[] reportDefinition, String name, String description)
    [CrmReportingException: 找不到项“/CMK_MSCRM/4.0”。]
    at Microsoft.Crm.Reporting.ReportServer.UploadReport(String path, Byte[] reportDefinition, String name, String description)
    at Microsoft.Crm.Reporting.ReportServer.UploadReport(Byte[] reportDefinition, String reportId, String name, String description)
    at Microsoft.Crm.Reporting.ReportServer.UploadReport(SRSReport report, String reportId, String name, String description)
    at Microsoft.Crm.ObjectModel.ReportService.UploadSRSReport(Guid id, String name, String description, SRSReport srsReport, ExecutionContext context, Boolean isScheduledReport)
    at Microsoft.Crm.ObjectModel.ReportService.CreateInternal(IBusinessEntity entity, Boolean isScheduledReport, ExecutionContext context)
    at Microsoft.Crm.ObjectModel.ReportService.CreateFromTemplate(String wizardXml, ExecutionContext context)
    [TargetInvocationException: Exception has been thrown by the target of an invocation.]
    at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
    at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
    at System.Web.Services.Protocols.LogicalMethodInfo.Invoke(Object target, Object[] values)
    at Microsoft.Crm.Extensibility.InternalOperationPlugin.Execute(IPluginExecutionContext context)
    at Microsoft.Crm.Extensibility.PluginStep.Execute(PipelineExecutionContext context)
    at Microsoft.Crm.Extensibility.Pipeline.Execute(PipelineExecutionContext context)
    at Microsoft.Crm.Extensibility.MessageProcessor.Execute(PipelineExecutionContext context)
    at Microsoft.Crm.Extensibility.InternalMessageDispatcher.Execute(PipelineExecutionContext context)
    at Microsoft.Crm.Extensibility.ExternalMessageDispatcher.Execute(String messageName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, PropertyBag fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
    at Microsoft.Crm.Sdk.RequestBase.Process(Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
    at Microsoft.Crm.Sdk.RequestBase.Process(CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
    at Microsoft.Crm.Sdk.CrmServiceInternal.Execute(RequestBase request, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
    at Microsoft.Crm.Sdk.InProcessCrmService.Execute(Object request)
    at Microsoft.Crm.Application.Platform.ServiceCommands.PlatformCommand.ExecuteInternal()
    at Microsoft.Crm.Application.Platform.ServiceCommands.CreateFromTemplateCommand.Execute()
    at Microsoft.Crm.Application.Platform.DataSource.CreateFromTemplate(String wizardXml)
    at Microsoft.Crm.Web.Reporting.AdHocWizard.SuccessFailurePage.ConfigurePage()
    at Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e)
    at System.Web.UI.Control.PreRenderRecursiveInternal()
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    [HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown.]
    at System.Web.UI.Page.HandleError(Exception e)
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    at System.Web.UI.Page.ProcessRequest()
    at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
    at System.Web.UI.Page.ProcessRequest(HttpContext context)
    at ASP.cmk_crmreports_adhocwizard_successfailurepage_aspx.ProcessRequest(HttpContext context)
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
    ===========报错信息======================

    2012年2月10日 2:31

答案

  • 山穷水复疑无路,柳暗花明又一村!

    熬了一个多星期后,莫名其妙的问题,终究被莫名其妙的方法解决~

    在按着恢复报表系统中文件的思路,我重新导入了一次组织,文件夹出现了!!!

    不过以前也试过多次导入组织,为什么没有这个效果,大概是这次有其他措施:

    1、先在SQL服务器安装 SSRS-sql server reporting services连接器。

    2、http://<数据库服务器IP>/reports -> 属性 ->安全性 -> 添加 <域>\<crm程序服务器>$ 作为发布者。

    3、重新导入组织

    谢谢这些天,同志们的帮助,特别是daemon lin,

    Thank you very much!

    2012年2月15日 6:32

全部回复

  • Line Number: Not available
    Request URL: http://127.0.0.1/CMK/CRMReports/AdHocWizard/SuccessFailurePage.aspx?id=&CRMWRPCToken=SXt4ATvrEeGjtgAk6HlkklgloXu0Fw2BDGJlS3YIjAqyNgWGS5u7WYcrsUj5Dbym&CRMWRPCTokenTimeStamp=634640853671650647
    Stack Trace Info: [SoapException: 找不到项“/CMK_MSCRM/4.0”。 ---> 找不到项“/CMK_MSCRM/4.0”。]

    检查下你的CRM指向的报表服务器路径URL

    2012年2月10日 6:23
  • 你是否安装了Report Service Connector?

    daemon lin

    2012年2月10日 8:23
  • CRM链接报表服务器的路径应该是安装时默认的吧?

    我一直没有坐过任何的修改。

    http://<SQL_host>/reports  能访问  ,是否能证明报表服务器正常?


    2012年2月12日 9:54
  • 已经安装了 sql server reporting services 连接器...

    安装过程没有报错,比较顺利。

    通过什么方式可以验证他能正常运转?

    是不是数据服务器 和 CRM程序服务器 同事都要装,应该不需要才对啊~

    2012年2月12日 10:00
  • 广大人民群众啊,我还是没找出问题啊...呜呜...着急着急...

    2012年2月14日 1:03
  • 更简明的报错提示

    Error Description:
    找不到项“/CMK_MSCRM/4.0/MSCRM_DataSource”。
    
    Error Details:
    找不到项“/CMK_MSCRM/4.0/MSCRM_DataSource”。
    
    Full Stack:
    [SoapException: 找不到项“/CMK_MSCRM/4.0/MSCRM_DataSource”。 ---> 找不到项“/CMK_MSCRM/4.0/MSCRM_DataSource”。]
       at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
       at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
       at Microsoft.Crm.ReportingServices2005.ReportingService2005.GetDataSourceContents(String DataSource)
       at Microsoft.Crm.Reporting.ReportServer.VerifyAndConfigDataConnector()
    
    [CrmReportingException: 找不到项“/CMK_MSCRM/4.0/MSCRM_DataSource”。]
       at Microsoft.Crm.Reporting.ReportServer.VerifyAndConfigDataConnector()
       at Microsoft.Crm.Web.Reporting.SrsReportViewer.ConfigurePage()
       at Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e)
       at System.Web.UI.Control.PreRenderRecursiveInternal()
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    
    [HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown.]
       at System.Web.UI.Page.HandleError(Exception e)
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
       at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
       at System.Web.UI.Page.ProcessRequest()
       at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
       at System.Web.UI.Page.ProcessRequest(HttpContext context)
       at ASP.cmk_crmreports_rsviewer_reportviewer_aspx.ProcessRequest(HttpContext context)
       at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
       at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
    
    
    Other Message:
    
    Error Number:
    0x80048300
    
    Source File:
    Not available
    
    Line Number:
    Not available
    Request URL:
    
    http://**.com.cn/**/CRMReports/rsviewer/reportviewer.aspx

    2012年2月14日 1:39
  • 5、<a href="http:///reports">http://<serverhost>/reports  可以运行出界面,但是主文件夹中 ,没有任何文件。

    ================================================================

    文件夹中没有任何文件应该是不对的,正常情况应该是有“XXX_MSCRM”文件夹的。

    而且已经提示“Error Description:找不到项“/CMK_MSCRM/4.0/MSCRM_DataSource”。”这个错误。

    还是在安装过程中出现了问题,没有在reporting Service中进行配置。

    你可以手动的配置一下,把缺少的东西手动的建上去。

    个人建议 希望对你有帮助。


    水杯

    2012年2月14日 2:43
  • tks...

    我自己在另外的服务器上安装过,

    XXX)_MSCRM文件夹中起码有3个文件夹的,但是现在确实没了,

    也没发现有什么可以设置了,所以才苦恼啊...

    把SSRS,重新安装了也没有什么效果...

    如果卸载了,则是报401错误,安装上就报这个错误~哎~

    2012年2月14日 5:56
  • 蚂蚁,你看一下这篇文章是否能够解决你的问题。URL:http://support.microsoft.com/kb/921546/en-us


    daemon lin

    2012年2月14日 15:17
  • 这篇文章,我之前已经读过几次了,说的就是程序服务器主机 访问 数据库主机的权限设置。我又重新设置了一遍,然后重启数据库主机,依然还是不行。

    我自己感觉,现在的首要问题,是怎么恢复报表管理器中的文件,我看了成功运行的报表服务器,里面有许多报表文件,不应该是手动一个一个加进去的,

    不知有没有什么只更新报表系统的方法,而不要重新装整个CRM系统。

    2012年2月15日 3:00
  • 山穷水复疑无路,柳暗花明又一村!

    熬了一个多星期后,莫名其妙的问题,终究被莫名其妙的方法解决~

    在按着恢复报表系统中文件的思路,我重新导入了一次组织,文件夹出现了!!!

    不过以前也试过多次导入组织,为什么没有这个效果,大概是这次有其他措施:

    1、先在SQL服务器安装 SSRS-sql server reporting services连接器。

    2、http://<数据库服务器IP>/reports -> 属性 ->安全性 -> 添加 <域>\<crm程序服务器>$ 作为发布者。

    3、重新导入组织

    谢谢这些天,同志们的帮助,特别是daemon lin,

    Thank you very much!

    2012年2月15日 6:32