1

C#、.NET Framework 4.0、および SQL Server を使用して WCF RESTful サービスを開発しています。

データベースで毎時間メンテナンスを行う必要があります。テーブルからいくつかの行を削除し、別の行を更新する必要があります:

ユーザーは、24 時間ごとにその日の 3 つの引用を投稿できます。24 時間以上前の日の各見積もりを削除する必要があります。そして、彼が持っているその日の見積もりの​​数で User テーブルを更新する必要があります。

私の問題は、それを行う方法がわからないことです。1 時間ごとに実行されるバッチ プロセスが必要であり、このメンテナンスを行う必要があると思いますが、このバッチ プロセスをデータベースに追加できるのか、それとも WCF RESTful サービスに追加する必要があるのか​​、それを行うためのプログラムを実装する必要があるのか​​ わかりません.

どうすればいいですか?テーブルからいくつかの行を削除し、別の行を更新する必要があります。

SQL Server データベースと WCF RESTful サービスは Amazon でホストされると思います。

4

2 に答える 2

1

これを行うために選択できる方法は複数あります。私の頭に浮かんだ2つのオプションは次のとおりです。

  1. 必要な処理を実行するプロシージャを呼び出す SQL Server ジョブを作成し、このジョブを 1 時間ごとに実行するようにスケジュールします。

  2. 定期的に(あなたの場合は毎時)Windowsサービスを作成します。

ロジックは比較的単純なので、私は SQL Server ジョブを好みます。一定期間ロジックがより複雑になることが予想され、長い SQL プロシージャを処理したくない場合は、Windows サービス オプションを検討できます。

于 2013-10-01T08:13:58.290 に答える
0

Sql サーバーにアクセスできる場合は、必要な行を削除および更新するジョブを作成してみてください。 Sql Server ジョブは、必要なものを何でも実行できます。 いつ実行するかをスケジュールできます。Sql Server ジョブを作成するには、SQL Server Management を実行し、SQL Server に接続して Sql Server Agent に移動します。

ジョブを作成し、ジョブのステップを作成してプログラムします。 SQL サーバー ジョブの作成方法 http://technet.microsoft.com/en-us/library/ms190268.aspx SQL サーバー エージェントにアクセスしてジョブを作成できない場合は、おそらくサービスでプログラムする必要があります。 または、sqlcmd を使用してバッチ ファイルを作成します。

sqlcmd -S myServer\instanceName -i C:\myScript.sql 

次に、Windows タスク スケジューラでスケジュールします。 http://technet.microsoft.com/en-us/library/cc766428.aspx

于 2013-10-01T08:25:06.647 に答える