在报表设计器中设计完成的报表,若要布署到生产环境中,目前有这样几种方式:
    1.使用报表管理器,创建报表目录、数据源,上传报表文件。这种方式仅适合非常少量的报表,或对个别报表进行更新时使用。
    2.使用开发环境的DEPLOY功能,指定TargetServerURL、TargetFolder等属性即可很方便地将所有报表发布到指定环境。这种方式虽然方便,但却要求开发环境,而这是不可能随时随地都能得以满足的。
    3.使用脚本文件和Reporting Services简单对象访问协议(SOAP)API ,只需将安装脚本文件及报表定义文件RDL拷贝到某一目录下,然后指定一些命令参数即可轻松完成报表的发布,当然您必须拥有RS实用工具的运行权限,以及在报表服务器上创建目录和上传文件的权限,而这些权限一般情况下都不成问题,正常情况下,Reporting Services安装完毕后,RS实用工具就已经在默认命令行的path中了。
    联机文件中提供了一个示例的脚本,我对其增加了一些功能,可以判断文件夹及数据源是否已经存在,从而防止重复创建,并可以自动遍历当前目录下的报表文件进行发布。
    注意:该脚本必须用Visual Studio VB.NET语言编写,象Left这样的函数必须完全指定名字空间才能正确编译通过。
Reporting Services报表的发布'parentFolder是用rs脚本命令行开关-v定义的全局变量
Reporting Services报表的发布

Reporting Services报表的发布
Dim definition As [Byte]() = Nothing
Reporting Services报表的发布
Dim warnings As Warning() = Nothing
Reporting Services报表的发布
Dim parentPath As String = "/" + parentFolder
Reporting Services报表的发布
Dim filePath As String = "" '当前目录
Reporting Services报表的发布


    将以上脚本(假设为sample.rss)与报表定义文件rdl放在同一目录下,执行类似这样的命令即可:
Reporting Services报表的发布rs -i sample.rss -s http://localhost/reportserver -v parentFolder="sampleFolder"

相关文章: