簡體   English   中英

RS.exe 訂閱帶參數的報告

[英]RS.exe subscribe report with parameters

我正在嘗試通過 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><StartDateTime>2017-12-08T15:00:00</StartDateTime><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`

錯誤消息:

C:\\Users\\mee\\AppData\\Local\\Temp\\11\\dhexge0m.1.vb(43):錯誤 BC30455:未為“公共函數 CreateSubscription(報告為字符串,擴展設置為 Microsoft)的參數”指定參數.SqlServer.ReportingServices2005. ExtensionSettings, Description As String, EventType As String, MatchData As String, Parameters() As Microsoft.SqlServer.ReportingServices2005.ParameterValue) As String'。

讓我教你一個在 .Net 和一般情況下編程的技巧。 聽起來很簡單,您需要做的就是傳遞他們期望的功能 讓我給你舉個簡單的例子。

使用此代碼,我遇到了與您類似的錯誤:

在此處輸入圖片說明

CS7036 沒有給出與“FileInfo.FileInfo(string)”的所需形式參數“fileName”相對應的參數

波浪形的紅線告訴您問題出在哪里。 如果我輸入左括號,它會給我一個工具提示,其中包含它所期望的內容

在此處輸入圖片說明

好的,它需要一個字符串,所以我聲明了一個字符串並按預期將其提供給函數:

在此處輸入圖片說明

所以你的問題是因為你沒有給CreateSubscription函數它期望的參數。

未為“公共函數 CreateSubscription”的參數“Parameters”指定參數

要修復它,請向ReportingService2005.CreateSubscription 方法提供所有必需參數:

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><StartDateTime>2003-02-24T09:00:00-08:00</StartDateTime><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());
      }
   }

作為 2005 年 ms SQL 報告服務的一部分,傳遞給 CreateSubscription 的參數都不是可選的。 請參考鏈接並更新您調用該函數的方式。 錯誤很明顯,您缺少最后一個參數。 查看頁面底部的示例。

https://technet.microsoft.com/en-us/library/microsoft.wssux.reportingserviceswebservice.rsmanagementservice2005.reportingservice2005.createsubscription(v=sql.90).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM