10

SSISパッケージを実行するSQLエージェントタスクをスケジュールしました。.netからSSISパッケージを実行できるようにしたい。SSISパッケージを直接実行する方法、または少なくともSSISパッケージを実行するSQLエージェントタスクを実行する方法はありますか?

それが役立つ場合は、C#で記述された.net3.5Webアプリ用です

ありがとう!

4

2 に答える 2

11

SSISパッケージを実行するために使用できるオプションは次のとおりです。

  • SSISオブジェクトモデルを使用してプログラムでパッケージを実行します。これについては、BooksOnlineのこちらで詳しく説明されています。

例:

using System;
using Microsoft.SqlServer.Dts.Runtime;

namespace RunFromClientAppCS
{
    class Program
    {
        static void Main(string[] args)
        {
            string pkgLocation;
            Package pkg;
            Application app;
            DTSExecResult pkgResults;

            pkgLocation = "<package path>\CalculatedColumns.dtsx";
            app = new Application();
            pkg = app.LoadPackage(pkgLocation, null);
            pkgResults = pkg.Execute();

            Console.WriteLine(pkgResults.ToString());
            Console.ReadKey();
        }
    }
}
  • DTEXEC.EXEプロセスを開始します。DTEXECは、SSISパッケージを実行するためのコマンドラインユーティリティです。ここでそのコマンドラインオプションを参照してください。

  • SQLエージェントを使用します。パッケージを実行するようにエージェントジョブを構成し(パッケージが静的な場合は事前に手動で実行するか、パッケージを実行する直前にSMOまたはSQLストアドプロシージャを使用してプログラムで実行します)、SMOまたはsp_start_jobを使用してプログラムで開始します。

  • 他のユーティリティを使用して、DTEXECを起動します。

  • パッケージを実行するカスタムアプリケーションを作成します(方法#1で説明されているようにOMを使用するか、方法#2で説明されているようにDTEXECを使用します)。WebサービスまたはDCOMクラスとして公開し、プログラムからこのサービスを呼び出します。

  • あなた自身を発明してください:)

参照:SSISパッケージをプログラムで実行する

于 2009-08-06T08:32:21.360 に答える
0

はい。Microsoft.SqlServer.Dts.Runtime名前空間を調べます。Packageクラスは、それを実行するためのメソッドを提供します。

于 2009-08-06T08:29:38.930 に答える