0

Excelファイルを読み取るC#WebアプリケーションでXMLに変換してストアドプロシージャを実行し、セカンダリアップデートを実行するために必要な特定のフォーマットのデータセットを返します。データセットは18000 +レコードを返します。データセットに値が設定されたら、ループしてWebサービスを呼び出し、アプリケーションデータベースの更新を実行します。私の質問は、小規模なバッチでも小さなブロックでも、プログレスバーを使ってもこのアップデートを実行する方法です。これは、Webサービスを呼び出すと、あなたは、バックエンドのスレッドでこれらすべてのものを行うと、ちょうどそれをXMLを渡し、スレッドを呼び出し、ユーザーを終了するメッセージを返すことができ、更新にWebservicesを使用したバッチ処理データセット - C#

public string InvokeSubmitCalendarValues() 
{ 
    try 
    { 
     DataWebService dataWebService = new DataWebService(); 
     SubmitCalendarValuesRequest submitCalendarValuesRequest = new SubmitCalendarValuesRequest(); 
     Credentials credentials = new Credentials(); 

     credentials.Username = AmplaCodeUserName; 
     credentials.Password = AmplaCodeUserPassword; 
     credentials.Session = ""; 
     submitCalendarValuesRequest.Credentials = credentials; 

     string rateUnit = ""; 

     if (ds != null && ds.Tables.Count > 0) 
     { 
      foreach (DataTable dt in ds.Tables) 
      { 
       foreach (DataRow dr in dt.Rows) 
       { 
        SubmitCalendarValue[] values = new SubmitCalendarValue[1]; 
        SubmitCalendarValue values_ = new SubmitCalendarValue(); 

        values_.Name = dr["ItemName"].ToString(); 
        values_.Value = dr["ItemValue"].ToString(); 
        // Init DateTime object value = 2017-08-06T00:00:00.0000000+02:00 
        // We going to use DateTime ctor that takes Ticks 
        values_.StartDateTime = new System.DateTime(Convert.ToDateTime(dr["ActiveDateTime"]).Ticks); 

        if (dr["PeriodType"].ToString() != string.Empty || !(dr["Period"] is DBNull)) 
        { 
         CalendarRate rate = new CalendarRate(); 

         rateUnit = dr["PeriodType"].ToString(); 
         rate.Count = Convert.ToInt32(dr["Period"]); 

         CalendarRateUnit cru = (CalendarRateUnit)Enum.Parse(typeof(CalendarRateUnit), rateUnit); 

         rate.Unit = cru; 
         values_.Rate = rate; 
        } 

        values[0] = values_; 
        submitCalendarValuesRequest.Values = values; 

        SubmitCalendarValuesResponse submitCalendarValuesResult = dataWebService.SubmitCalendarValues(submitCalendarValuesRequest); 
       } 
      } 
     } 
    } 
    catch(Exception ex) 
    { 
     return ex.Message.ToString(); 
    } 

    return "Success"; 
} 
+0

私はこのすべてをバックエンド経由で処理していましたが、すべてを変更してWebサービスを使用しなければならないことを追加する必要があります –

答えて

0

を実行する機能です。

またはXMLをサーバーにアップロードして、バッチ処理を行うジョブを作成し、ユーザーを処理ビューに誘導することができます。

+0

残念なことに、これはフラッシュ操作を実行する別のアプリケーションデータベースに書き込み、新しくアップロードされた情報 –

+0

あなたが望む結果を実行するミドルウェアユーティリティを書く必要がある –

+0

これは別の質問です。どのようにデータセットの20行、次に20行を読み込むのですか? –

関連する問題