65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIconemptyStarIcon

4.00/5 (6投票s)

2006年5月12日

2分钟阅读

viewsIcon

52777

downloadIcon

874

如何在SQL RS 2000标准版中实现数据驱动订阅。

引言

您是否有需要发送给不同人员的SQL报告,但每个人的报告参数都不同?您是否没有足够的资源购买SQL Server 2000的企业版?在标准版中,除了用.NET编写自己的前端之外,唯一的解决方案是为每个唯一的报告、人员和参数创建一个订阅。很快,您就会有大量的订阅需要管理。

这就是我遇到的情况,管理所有订阅变更请求很快变成了一场噩梦。我开始思考“Reporting Services 只是一个带有 ASP.NET 前端的普通数据库。一定有办法做到…”

太棒了!看起来订阅信息存储在一个名为“Subscriptions”的表中,而参数信息存储在,没错,“Parameters”表中。这些狡猾的微软人!

无论如何,我编写了一个存储过程,它会查找订阅中预定义的文本,并将其替换为您提供的内容。它可能不如SQL Server 企业版中的版本那么漂亮,但这个版本可以完成工作,而且非常有用!

我没有包含任何错误检查,并且目前,此存储过程仅允许一个参数。请根据需要修改代码。欢迎提出任何建议或意见,请给我发邮件

感谢您的阅读,希望这能有所帮助,或者至少能为您提供下一步的思路。

如何使用代码

  1. 为要设置数据驱动订阅的报告创建一个新的订阅。使用以下设置
    To Address:            |TO|
    Carbon Copy Address:   |CC|
    Blind Copy Address:    |BC|
    Reply To Address:      |RT|
    Comment / Body:        |BD|
    Parameter 1:           |P1|

  2. 现在,将报告的计划设置为运行一次。

  3. 将开始日期和结束日期设置为今天之前的日期。

  4. 在企业管理器中,找到您刚刚创建的作业。它的上次运行状态将为“未知”,下次运行日期将为“日期和时间不可用”。这个作业的名称就是您需要传递给存储过程的计划ID。
  5. 要执行订阅,只需调用存储过程并传递这些值即可。

© . All rights reserved.