2014-04-23 56 views
1

我目前正在研究T-SQL触发器在将记录插入到表中时触发SSRS报告打印的功能。我发现的最接近的东西是ScottLenart的评论here。我有几个参数需要传递给报告,我想将打印作业发送到特定的网络打印机。我想知道这是否可以构建到SQL CLR程序集中(尽管我知道这似乎是使用SQL CLR的错误方法),或者如果使用xp_cmdshell来启动某个定制的打印它的c#应用程序是我最好的做法。执行从T-SQL触发器打印SSRS报告

我想我可能不得不考虑使用某种类型的队列来将打印请求放入触发器触发时,以便它在打印时不会阻止其他一些查询, m试图弄清楚如何在数据库中创建或更新记录时尽可能接近地打印文档。

我期待与SQL Server 2012

回答

0

这可能是可行的部署这一点,但是这不是你应该做的。想象一下,您处于交易中间,持有锁和阻止访问资源,并且有人必须将纸张送入打印机?

如果您确实有这种强大的业务案例,请使用服务代理进行异步调用(以便事务可以提交并释放资源)。

0

使用触发器将记录插入某种“打印队列”表中。有一个预定的SQL Server作业模拟ScottLenart的进程。院长是对的 - 没有触发器执行报告/打印操作的实际执行;仅使用触发器将该工作负载传递/准备到另一个进程。