2017-12-08 1 views
7

rs.exeを使用して動的なレポートサブスクリプションを作成しようとしています。どのように私は動作するようにパラメータを取得することができません。終了日の値はデータ/時間なので、それが原因かもしれないと思うが、私はそれについて何をすべきか分からない。私はキャストしようとしましたが、エラーmsg。同じままです。RS.exeでパラメータ付きレポートを購読する

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 \ローカル\ Tempに\ 11 \ dhexge0m.1.vb(43):エラーBC30455: 引数が 'Public'のパラメータ 'Parameters'に指定されています CreateSubscription(R ep ort As String、ExtensionSettings As Microsoft.SqlServer.ReportingServices2005。文字列としてEventType、文字列としてMatchData、文字列として パラメータ()として Microsoft.SqlServer.ReportingServices2005.ParameterValue)。

+0

VBにVBAタグを変更してください。ネット。 –

+0

あなたの 'rs.CreateSubscription'が新しいプロセスを開始している場合、新しいプロセスに渡すコマンド引数にスペースが含まれる可能性があります。コマンドargsは1番目のスペースの後のすべてを削除します。とにかく、あなたの 'rs.CreateSubscription'関数を確認する必要があります –

+0

rs.CreateSubscriptionは、Reporting Server用の関数で構築されています。https://msdn.microsoft.com/en-us/library/reportservice2010.reportingservice2010.createsubscription.aspx – user1054844

答えて

3

私はあなたに.NETでプログラムするトリックを教えてみましょう。シンプルに聞こえますが、あなたがする必要があるのはです。彼らが期待しているものはです。簡単な例をあなたに教えてください。

私はあなたに同様のエラーを持って、このコードで

enter image description here

CS7036「をFileInfo.FileInfo(の必要な仮パラメータファイル「filename」に対応して与えられた引数はありません文字列) '

問題のどこに赤い線が表示されます。私はオープニングブラケットを入力した場合、それが期待するもので私にツールヒントを与える:

enter image description here

は、[OK]を、それは文字列を必要とするので、それが期待するように私は、文字列を宣言し、関数にそれを与える:

enter image description here

あなたはCreateSubscription機能にそれが期待するパラメータを与えていないので、あなたが持っている問題があります。ReportingService2005.CreateSubscription Methodにすべての必須パラメータを提供する、それを修正するには、パラメータに指定されていない

引数「公開機能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 [email protected]"; 
     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 = "[email protected]"; 

     extensionParams[1] = new ParameterValue(); 
     extensionParams[1].Name = "ReplyTo"; 
     extensionParams[1].Value = "[email protected]"; 

     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()); 
     } 
    } 
1

ms SQLの2005レポートサービスの一部として、CreateSubscriptionに渡されるパラメータはオプションではありません。リンクを参照して、関数を呼び出す方法を更新してください。エラーは明確で、最後のパラメータが欠落しています。例のためにページの下部を見てください。

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

関連する問題