【发布时间】:2009-04-07 13:57:14
【问题描述】:
我没有太多管理报告的经验,但我开发的应用程序是这样工作的:
有一个界面供用户从报告列表中选择他们想要查看的报告。此列表由数据库中的报告表填充,该表包含报告名称、文件名和报告采用的参数等信息。
这些报告中有几个常用参数——它们是范围或排序——因此用户可能会调出一份关于所有编号为 200 到 4000、按 Foo 分组的小部件的报告。
现在一个人同时开发一个存储过程,和报表文件。他们把它传给我,我必须通过在生产中运行 sproc 脚本并将 .rpt 文件移动到正确的目录来部署它。然后,我必须在报告表中插入一条记录,其中包含名称、文件名和参数。
这是一个后勤挑战,因为没有很好的方法来跟踪哪些报告已部署到哪些系统(仅仅因为它们存在,并不意味着它们已更新,理想情况下总共有 4 个系统应该匹配) ,并且有几个可能的故障点:
1) sproc 中的参数与 .rpt 文件中的参数不匹配 2) 报告表中的参数与 .rpt 或 sproc 中的参数不匹配 3) sproc 被更新,而 .rpt 文件不是出于某种原因 4) 当新报表需要一个尚未在 params 页面中编码的参数时会发生什么?
这一切都归结为系统不够动态。就像我说的,我不知道报告,但我感觉做报告的人也不知道。似乎必须有更好的方法来保持 sproc 和 .rpt 文件同步,并通过反射之类的东西动态地询问它需要的参数。
这通常是如何处理的?
【问题讨论】:
标签: c# sql-server sql-server-2005 crystal-reports