SQL RS 2000 标准版的数据驱动订阅





4.00/5 (6投票s)
2006年5月12日
2分钟阅读

52777

874
如何在SQL RS 2000标准版中实现数据驱动订阅。
引言
您是否有需要发送给不同人员的SQL报告,但每个人的报告参数都不同?您是否没有足够的资源购买SQL Server 2000的企业版?在标准版中,除了用.NET编写自己的前端之外,唯一的解决方案是为每个唯一的报告、人员和参数创建一个订阅。很快,您就会有大量的订阅需要管理。
这就是我遇到的情况,管理所有订阅变更请求很快变成了一场噩梦。我开始思考“Reporting Services 只是一个带有 ASP.NET 前端的普通数据库。一定有办法做到…”
太棒了!看起来订阅信息存储在一个名为“Subscriptions”的表中,而参数信息存储在,没错,“Parameters”表中。这些狡猾的微软人!
无论如何,我编写了一个存储过程,它会查找订阅中预定义的文本,并将其替换为您提供的内容。它可能不如SQL Server 企业版中的版本那么漂亮,但这个版本可以完成工作,而且非常有用!
我没有包含任何错误检查,并且目前,此存储过程仅允许一个参数。请根据需要修改代码。欢迎提出任何建议或意见,请给我发邮件。
感谢您的阅读,希望这能有所帮助,或者至少能为您提供下一步的思路。
如何使用代码
- 为要设置数据驱动订阅的报告创建一个新的订阅。使用以下设置
To Address: |TO| Carbon Copy Address: |CC| Blind Copy Address: |BC| Reply To Address: |RT| Comment / Body: |BD| Parameter 1: |P1|
- 现在,将报告的计划设置为运行一次。
- 将开始日期和结束日期设置为今天之前的日期。
- 在企业管理器中,找到您刚刚创建的作业。它的上次运行状态将为“未知”,下次运行日期将为“日期和时间不可用”。这个作业的名称就是您需要传递给存储过程的计划ID。
- 要执行订阅,只需调用存储过程并传递这些值即可。