我可以使用powershell生成和打印SSRS报告(带参数)到网络打印机。

我将使用SQL代理作业轮询表进行新订单条目。当订单进入时,我想生成SSRS报告并将其打印到我们的网络上的许多远程打印机(打印机将是一个输入参数之一),例如,在放置订单时打印适当的仓库中的选票。

我们目前使用批处理文件来打印到本地打印机,但程序经常挂起并不会缩放。

有帮助吗?

解决方案

在这种情况下:
举报名称:票证系统 参数是:日期和部门
报告格式:PDF

#Place adobe in your path
$env:Path = $env:Path + ";C:\Program Files (x86)\Adobe\Reader 11.0\Reader"

#Specify variables and pass parameters and specify format of report PDF (to keep things simple)
$url = "http://$serverName/ReportServer?/$reportFolder/Ticket+System&Date=3-31-2014&Department=Finance&rs:Format=PDF"

#Use alternative credentials as needed to access report server
$webclient = New-Object System.Net.WebClient
$webclient.UseDefaultCredentials = $TRUE

$file = "C:\temp\report.pdf"
$webclient.DownloadFile($url,$file)

#Specify printer \\server\name
$printer = "\\NorthSide\SharpPrinter"

#The /s /o switch may not be necessary. You can test it out.
AcroRd32.exe /s /o /t $file $printer

Get-Process AcroRd32.exe | kill
.

参考: 此链接将指示如何通过URL将参数传递给报告 http://msdn.microsoft.com/en-us/library/ms155391.aspx

此链接将指示如何通过URL以可打印格式访问报告 http://msdn.microsoft.com/en-us/library/ms154040.aspx

此链接将向您展示如何使用PowerShell来通过URL将此文件写入文件系统。 http://teusje.wordpress.com/2011/02/ 19 /下载 - 文件 - 带 - PowerShell /

此链接将向您展示如何将作业推到假脱机程序。使用PowerShell版本4.0 http://technet.microsoft.com/en-us/library/hh849886.aspx

如果在SQL代理作业中使用PowerShell遇到问题,则我可以使用任务调度程序作业进行轮询并使用SQLPS模块查询数据库。

希望有帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top