vb.net – 带参数的RS.exe订阅报告

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

rs.exe调用

  1. 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文件

  1. Public Sub Main()
  2. rs.Credentials = System.Net.CredentialCache.DefaultCredentials
  3.  
  4. Dim desc As String = "Report description"
  5. Dim eventType As String = "TimedSubscription"
  6. Dim scheduleXml As String = "<ScheduleDefinition><StartDateTime>2017-12-08T15:00:00</StartDateTime><WeeklyRecurrence><WeeksInterval>1</WeeksInterval><DaysOfWeek><Thursday>True</Thursday></DaysOfWeek></WeeklyRecurrence></ScheduleDefinition>"
  7. Dim parameters() As ParameterValue
  8.  
  9.  
  10. ' If you need setup parameters
  11.  
  12. Dim parameter As ParameterValue
  13. parameter.Name = "enddate"
  14. parameter.Value = "2017-12-30 10:03:01.250" 'this is date/time
  15. parameters(0) = parameter
  16.  
  17.  
  18.  
  19. Dim matchData As String = scheduleXml
  20.  
  21.  
  22. Dim returnValue As String
  23.  
  24. Dim reports() As String = { _
  25. "/My Folder/report"}
  26.  
  27. For Each report As String In reports
  28. returnValue = rs.CreateSubscription(report,parameters)
  29. Console.WriteLine(returnValue)
  30. Next
  31.  
  32. End Sub 'Main`enter code here`

错误消息:

C:\Users\mee\AppData\Local\Temp\11\dhexge0m.1.vb(43) : error BC30455:
Argument n ot specified for parameter ‘Parameters’ of ‘Public Function
CreateSubscription(R eport As String,ExtensionSettings As
Microsoft.sqlServer.ReportingServices2005. ExtensionSettings,
Description As String,EventType As String,MatchData As Stri ng,
Parameters() As
Microsoft.sqlServer.ReportingServices2005.ParameterValue) As String’.

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

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

CS7036 There is no argument given that corresponds to the required formal parameter ‘fileName’ of ‘FileInfo.FileInfo(string)’

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

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

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

Argument not specified for parameter ‘Parameters’ of ‘Public Function CreateSubscription

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

  1. public static void Main()
  2. {
  3. ReportingService2005 rs = new ReportingService2005();
  4. rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
  5.  
  6. string report = "/SampleReports/Employee Sales Summary";
  7. string desc = "Send email to anyone@microsoft.com";
  8. string eventType = "TimedSubscription";
  9. string scheduleXml = @"<ScheduleDefinition><StartDateTime>2003-02-24T09:00:00-08:00</StartDateTime><WeeklyRecurrence><WeeksInterval>1</WeeksInterval><DaysOfWeek><Monday>True</Monday></DaysOfWeek></WeeklyRecurrence></ScheduleDefinition>";
  10.  
  11. ParameterValue[] extensionParams = new ParameterValue[8];
  12.  
  13. extensionParams[0] = new ParameterValue();
  14. extensionParams[0].Name = "TO";
  15. extensionParams[0].Value = "dank@adventure-works.com";
  16.  
  17. extensionParams[1] = new ParameterValue();
  18. extensionParams[1].Name = "ReplyTo";
  19. extensionParams[1].Value = "reporting@adventure-works.com";
  20.  
  21. ParameterValue parameter = new ParameterValue();
  22. parameter.Name = "EmpID";
  23. parameter.Value = "38";
  24.  
  25. ParameterValue[] parameters = new ParameterValue[1];
  26. parameters[0] = parameter;
  27.  
  28. string matchData = scheduleXml;
  29. ExtensionSettings extSettings = new ExtensionSettings();
  30. extSettings.ParameterValues = extensionParams;
  31. extSettings.Extension = "Report Server Email";
  32.  
  33. try
  34. {
  35. rs.CreateSubscription(report,extSettings,desc,eventType,matchData,parameters);
  36. }
  37.  
  38. catch (SoapException e)
  39. {
  40. Console.WriteLine(e.Detail.InnerXml.ToString());
  41. }
  42. }

猜你在找的VB相关文章