自动打印SSRS报告?

时间:2009-01-26 17:58:19

标签: sql-server reporting-services

有没有办法自动打印SQL Server Reporting Services(2005)报告?

编辑:

我们需要以编程方式在网络打印机上打印SSRS报告。具体来说,我们想从存储过程中解决此问题。我们目前正在使用likeabanshee的方法,它正在运行。但是,我们希望管理更多内容,而不依赖于Adobe Acrobat和xp_cmdshell。我们正在研究Paul G.建议的this方法。

3 个答案:

答案 0 :(得分:6)

您应该能够使用内置Web服务以编程方式实现这一点,以呈现报告。 SSRS 2000的一些示例代码是here,但它应该非常接近您2005年所需的代码,我认为:

答案 1 :(得分:2)

如果使用Microsoft商业智能编辑器创建SSRS,则可以编写代码来启动打印作业。

答案 2 :(得分:2)

这个问题是由一位同事发给我的。我的意见和解决方案如下:

背景: 我本质上想通过他们的UNC向我们公司的网络打印机发送SSRS报告。我有一个从SQL Server运行的实时质量监控应用程序(用于工业制造设施)。由于检测到严重缺陷,我想向QA打印机发送报告,以便他们分析缺陷。它还补充了我们的寻呼机/电子邮件警报系统,以便在问题发生时停止。

解决方案: 我写了一个SQL存储过程来监控质量故障。检测到它们时,存储过程使用xp_cmdshell调用.Net控制台应用程序,传递产品ID,UNC路径,报告名称,Adobe Reader文件路径(在SQL Server上)和一些其他参数。请注意,控制台应用程序与SQL Server位于同一服务器上。控制台应用程序接受参数并将其传递给SSRS,输出格式为PDF。 PDF是在本地创建和保存的,然后控制台应用程序使用Adobe Reader的隐藏运行模式(/ t)运行命令行。文件路径和UNC路径作为参数传递,并且自动打印SSRS文件。 可选参数告诉控制台应用程序是否删除本地保存的PDF。