1

SQL Server 2008 と .NET 3.5 Framework を使用しています。

私のプログラムでは、データベースのストアド プロシージャは、ユーザーの入力に応じて変更されます。

ユーザーは自分のタスクの日付を決定できます。

そこで、ストアドプロシージャを変更するSQLジョブをプログラムで作成するようにプログラムを書きたいと思います。

プログラムでジョブを作成するにはどうすればよいですか?

4

1 に答える 1

4

プログラムで次の 2 つの方法で実行できます。

1. 手順を変更するだけの場合:

// written from the head
...
using System.Data.SqlClient;
using Smo = Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;

string strConnectionString = ".......";
string strAlterProcCommandText = "ALTER PROC dbo.blablabla (..) AS .......\r\nGO";

using (var conn = new SqlConnection(strConnectionString))
{
  conn.Open();
  var server = new Smo.Server(new ServerConnection(conn));
  var result = server.ConnectionContext.ExecuteNonQuery(strAlterProcCommandText);
  Console.WriteLine("Result: " + result);
}

2. または、SQL ジョブでこれを行う場合は、上記の例を使用する必要がありますが、代わりにstrAlterProcCommandText = "ALTER PROC..."SQL ジョブを追加するコマンドを実行します。通常、次の方法で sqljob クエリを生成します。

  1. SQL Server Management Studio を開く
  2. 一部のサーバーの「オブジェクト エクスプローラー」ウィンドウで、次の場所に移動します: SQL Server エージェント » ジョブ » マウスの右クリック » 新しいジョブ...
  3. 次に、実行したいように見える簡単なジョブを作成し、作成したジョブに名前を付けます
  4. 追加されたジョブを右クリックし、コンテキスト メニューで次のように操作します。 [ジョブをスクリプトとして作成] » [作成先] » [新しいクエリ エディター ウィンドウ]
  5. 生成されたスクリプトをコピーし、必要に応じてパラメーター化してから、 に配置しstrAlterProcCommandTextます。

あなたが私の考えを得たことを願っています。

于 2011-03-31T07:29:12.397 に答える