2014-04-23 57 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的進程。院長是對的 - 沒有觸發器執行報告/打印操作的實際執行;僅使用觸發器將該工作負載傳遞/準備到另一個進程。