从T-SQL触发器执行SSRS报告的打印

本文关键字:报告 打印 SSRS 执行 T-SQL 触发器 | 更新日期: 2023-09-27 17:59:44

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

我想,当触发器触发时,我可能需要考虑使用某种队列来将打印请求放入其中,这样它就不会在打印时阻塞一堆其他查询,但我正在努力找出如何在数据库中创建或更新记录时尽可能地打印文档。

我希望将其与SQL Server 2012 一起部署

从T-SQL触发器执行SSRS报告的打印

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

如果您真的有一个很好的商业案例,可以使用servicebroker使调用异步(这样事务就可以提交并释放资源)。

使用触发器将记录插入某种类型的"打印队列"表中。有一个计划的SQL Server作业,从那时起模拟ScottLenart的过程。dean是对的——没有触发器来实际执行报告/打印操作;只需使用触发器将该工作负载传递/准备给另一个进程。