VB   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了vb.net – 带参数的RS.exe订阅报告大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图通过rs.exe创建动态报表订阅.我怎么不能让参数工作. enddate值是数据/时间,所以我认为这可能会导致它,但我不知道如何处理它.我已经尝试过施法,但错误信息.保持不变.

rs.exe调用:

C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn>rs.exe -i C:\Users\me\Desktop\rss_gen\subs.rss -s "localhost/ReportserverT"

subs.rss文件:

Public Sub Main()
    rs.Credentials = System.Net.CredentialCache.DefaultCredentials

    Dim desc As String        = "Report description"
    Dim eventType As String   = "TimedSubscription"
    Dim scheduleXml As String = "<scheduleDefinition><StartdatetiR_875_11845@e>2017-12-08T15:00:00</StartdatetiR_875_11845@e><WeeklyRecurrence><WeeksInterval>1</WeeksInterval><DaysOfWeek><Thursday>True</Thursday></DaysOfWeek></WeeklyRecurrence></scheduleDefinition>"
 Dim parameters() As ParameterValue


    ' If you need setup parameters

      Dim parameter As ParameterValue
        parameter.Name = "enddate"
        parameter.Value = "2017-12-30 10:03:01.250" 'this is date/time
    parameters(0) = parameter



    Dim matchData As String = scheduleXml


    Dim returnValue As String

    Dim reports() As String = { _ 
        "/My Folder/report"}

    For Each report As String In reports
        returnValue = rs.CreateSubscription(report,parameters)
        Console.WriteLine(returnvalue)
    Next

End Sub 'Main`enter code here`

错误消息

让我教你一个在.Net中编程的技巧.这听起来很简单,你需要做的就是传递他们期望的功能.让我举个简单的例子.

使用此代码我遇到了类似的错误:

红色的波浪线告诉你问题所在.如果我输入左括号,它会给我一个工具提示,它符合预期:

好吧,它需要一个字符串,所以我声明一个字符串并将其提供给它所期望的函数:

所以你遇到的问题是因为你没有给CreateSubscription函数提供它期望的参数.

要修复它,请提供ReportingService2005.CreateSubscription Method的所有必需参数:

public static void Main()
   {
      ReporTingservice2005 rs = new ReporTingservice2005();
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials;

      String report = "/SampleReports/employee SALEs SumMary";
      String desc = "Send email to anyone@microsoft.com";
      String eventType = "TimedSubscription";
      String scheduleXml = @"<scheduleDefinition><StartdatetiR_875_11845@e>2003-02-24T09:00:00-08:00</StartdatetiR_875_11845@e><WeeklyRecurrence><WeeksInterval>1</WeeksInterval><DaysOfWeek><Monday>True</Monday></DaysOfWeek></WeeklyRecurrence></scheduleDefinition>";

      ParameterValue[] extensionParams = new ParameterValue[8];

      extensionParams[0] = new ParameterValue();
      extensionParams[0].Name = "TO";
      extensionParams[0].Value = "dank@adventure-works.com";

      extensionParams[1] = new ParameterValue();
      extensionParams[1].Name = "ReplyTo";
      extensionParams[1].Value = "reporTing@adventure-works.com";

      ParameterValue parameter = new ParameterValue();
      parameter.Name = "EmpID";
      parameter.Value = "38";

      ParameterValue[] parameters = new ParameterValue[1];
      parameters[0] = parameter;

      String matchData = scheduleXml;
      ExtensionSetTings extSetTings = new ExtensionSetTings();
      extSetTings.ParameterValues = extensionParams;
      extSetTings.Extension = "Report Server Email";

      try
      {
         rs.CreateSubscription(report,extSetTings,desc,eventType,matchData,parameters);
      }

      catch (SoapException E)
      {
         Console.WriteLine(e.Detail.InnerXml.ToString());
      }
   }

大佬总结

以上是大佬教程为你收集整理的vb.net – 带参数的RS.exe订阅报告全部内容,希望文章能够帮你解决vb.net – 带参数的RS.exe订阅报告所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。