我需要无人值守打印SSRS报告,没有弹出窗口,也没有命令行调用。我很难找到一个不使用第三方渲染的例子。我怎么能这样做?
答案 0 :(得分:1)
这是我在网上找到的东西:
此代码来自开头,它基于Visual Studio 2008,MSSQL Server 2008环境。
我希望您安装并配置了MSSQL Reporting Services 2008,如果没有,请告诉我,我会指导您。
1)配置Reporting Services 2008后,转到C:\Program Files\Microsoft SQL Server\MSRS10_50.SERVER2K8\Reporting Services\ReportServer\bin and locate RSClientPrint.cab.
2)将此.cab文件复制到您的网站文件夹。
3)创建myASPX.aspx页面
4)创建myHTML.html页面
5)在myASPX.aspx中创建一个IFRAME,宽度=“0”,高度=“0”,源=“。html”
6)使用以下属性创建一个对象标签:
<object id="RSCP" codebase="RSClientPrint-x86.cab#Version=2009,1600,100,1"
classid="CLSID:5554DCB0-700B-498D-9B58-4E40E5814405" VIEWASTEXT>
7)在myHTML.html页面的脚本标记中写下以下代码
<script language="javascript" type="text/javascript">
function getPrint(){
RSCP.MarginBottom = '12.7';
RSCP.MarginLeft = '12.7';
RSCP.MarginRight = '12.7';
RSCP.MarginTop = '12.7'; //
RSCP.Print('http://MYSERVERNAME:8080/RS2K8', '%2fMYDIR%2fMYREPORTNAME(without extension)', 'MyReport');
}
</script>
8)最后onload事件
<body onload="getPrint()">