如何利用RS.exe部署Reporting Services

一、 Rs.exe介绍

rs 实用工具是一个脚本宿主,可用来处理您在输入文件中提供的脚本。您可以通过定义脚本来管理报表服务器,将报表服务器数据库内容复制到其他数据库,以及发布报表等。必须采用 Microsoft Visual Basic® .NET 代码来编写脚本,并使用 .rss 文件扩展名将其存储为 Unicode 文本文件或 UTF-8 文本文件。

Rs命令说明:

RS -i inputfile -s serverURL [-u username] [-p password] [-l timeout] [-b] [-v var=value] [-t]

         -i inputfile          要执行的脚本文件

         -s serverURL     执行脚本所依据的URL <包括服务器和vroot>

         -u username        用于登录到服务器中的用户名

         -p password       用于登录到服务器中的用户名

         -l timeout          连接到服务器之前超时的秒数。默认值为60秒,0表示无限长的超时

         -b                        作为批进行运行,且如果命令失败则回滚。

         -v var=value       传递给脚本的变量和指

         -t trace                 在出错消息中包含跟踪信息。

二、 Rs脚本实例

Dim definition As [Byte]() = Nothing

Dim warnings As Warning() = Nothing

Dim parentPath As String = "/" + parentFolder                                     // parentFolder 由命令行输入的

Dim filePath As String = "C:/Inetpub/wwwroot/Setup/ReportSystem/"        //.rss文件所存放的路径

 

Public Sub Main ()

 

    rs.Credentials = System.Net.CredentialCache.DefaultCredentials

    Dim name As String

 

    '创建父文件夹

    Try

        rs.CreateFolder(parentFolder, "/", Nothing)

        Console.WriteLine("Parent folder created: {0}", parentFolder)

    Catch e As Exception

        Console.WriteLine(e.Message)

    End Try

 

    '创建数据源

    CreateSampleDataSource()

 

    '报表的发布

    PublishReport("AcademeBonus")                     

    PublishReport("AcademeProject")                     //要发布的报表名称(如果有多个可以继续添加)

End Sub

'创建数据源

Public Sub CreateSampleDataSource()

    Dim name As String = "ChdSrInforSys"            //数据源名称

    Dim parent As String = "/" + parentFolder

 

    'Define the data source definition.

    Dim definition As New DataSourceDefinition()

definition.CredentialRetrieval = CredentialRetrievalEnum.Integrated

         //数据库连接字符串

definition.ConnectString = "data source=(local);initial catalog=ChdSrInforSys;uid=sa;"       definition.Enabled = True

    definition.EnabledSpecified = True

    definition.Extension = "SQL"

    definition.ImpersonateUser = False

    definition.ImpersonateUserSpecified = True

    'Use the default prompt string.

    definition.Prompt = Nothing

    definition.WindowsCredentials = False

 

Try

    rs.CreateDataSource(name, parent, False, definition, Nothing)     //调用rs内部命令

 

Catch e As Exception

    Console.WriteLine(e.Message)

End Try   

End Sub

报表的发布

Public Sub PublishReport(ByVal reportName As String)

    Try

        Dim stream As FileStream = File.OpenRead(filePath + reportName + ".rdl")

        definition = New [Byte](stream.Length) {}

        stream.Read(definition, 0, CInt(stream.Length))

        stream.Close()

 

    Catch e As IOException

        Console.WriteLine(e.Message)

    End Try

 

    Try

        warnings = rs.CreateReport(reportName, parentPath, False, definition, Nothing)

 

        If Not (warnings Is Nothing) Then

            Dim warning As Warning

            For Each warning In warnings

                Console.WriteLine(warning.Message)

            Next warning

 

        Else

            Console.WriteLine("Report: {0} published successfully with no warnings", reportName)

        End If

 

    Catch e As Exception

        Console.WriteLine(e.Message)

    End Try

End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值