“无法从状态对象中检索报告源”的原因。

“无法从状态对象中检索报告源”的原因。

也在 SO 上发布了这个,但认为这更可能是服务器配置问题,所以我希望有人知道这里发生了什么。

我有一个旧系统,其中设置了一个 CMS 服务器,用于从同一数据库生成 Crystal Reports。用户将在前端应用程序中输入所需的参数,然后将其传递给 CMS 以在 CrystalReportViewer.jsp 页面中生成报告。CMC 控制台和 InfoView 中显示的报告标题如下:

PersonnelDetailsA
PersonnelDetailsB
PersonnelDetailsC

在最近更新应用程序后(完全没有涉及 Crystal Report 功能),用户报告称他们无法为 PersonnelDetailsB 生成报告(A 和 C 都运行正常)。他们收到的错误消息是

Report source could not be retrieved from the state object

在我们的开发设置上进行了一些谷歌搜索和反复试验后,我发现错误是由于 CMS 无法找到所请求的报告而导致的,因此我立即想到的(实际上唯一的)假设是,我的应用程序传递给 CMS 的报告名称是错误的(这是我设法重现错误的唯一方法)。所以我去生产 InfoView 中验证了这一点。

事实证明我完全错了。所有报告名称都是正确的。

据我所知,生产环境中 CMS 的设置没有任何变化。在我们的应用程序更新之前,报告运行良好,并且我已确认我们没有对应用程序进行任何会影响 Crystal Report 功能的更改。事实上,所有报告在我们的开发设置中都运行良好。然而,当我们部署到生产环境时,显然出现了问题。所有 3 个报告都在同一个文件夹中,但即使提供了正确的报告名称,也无法找到其中一个。

我这里遗漏了什么?除了无法找到相关报告之外,还有什么其他原因会导致 CMS 抛出该特定错误?

相关内容