【问题标题】:Execute the printing of an SSRS report from T-SQL Trigger从 T-SQL 触发器执行 SSRS 报告的打印
【发布时间】:2014-04-23 15:29:10
【问题描述】:

我目前正在研究 T-SQL 触发器在将记录插入表时触发打印 SSRS 报告的能力。我发现最接近这一点的是 ScottLenart 的 cmets here。我有一些参数需要传递给报告,并且我想将打印作业发送到特定的网络打印机。我想知道这是否可以构建到 SQL CLR 程序集中(尽管我知道这似乎是使用 SQL CLR 的错误方法),或者是否使用 xp_cmdshell 启动一些打印它的自定义 c# 应用程序是我最好的接近。

我想我可能不得不考虑使用某种队列在触发器触发时将打印请求放入其中,这样它就不会在打印时阻塞一堆其他查询,但我试图弄清楚如何在尽可能接近在数据库中创建或更新记录时打印文档。

我希望在 SQL Server 2012 中部署它

【问题讨论】:

    标签: c# sql sql-server printing reporting-services


    【解决方案1】:

    这可能是可行的,但这不是你应该做的。想象一下,您正在处理事务,持有锁并阻止对资源的访问,并且有人必须将纸张送入打印机?

    如果您确实有这样做的强大业务案例,请使用服务代理使调用异步(因此事务可以提交和释放资源)。

    【讨论】:

      【解决方案2】:

      使用触发器将记录插入到某种“打印队列”表中。从那里开始模拟 ScottLenart 的进程的计划 SQL Server 作业。院长是对的——没有触发器来实际执行报告/打印操作;只需使用触发器将该工作负载传递/准备到另一个进程。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多