次の方法で共有


.NET アプリで C# コードを使用して SSIS パッケージを実行する

適用対象: SQL Server Azure Data Factory の SSIS 統合ランタイム

このクイックスタートでは、データベース サーバーに接続し、SSIS パッケージを実行する C# コードを記述する方法について説明します。

Visual Studio、Visual Studio Code、または他の任意のツールを使用して、C# アプリを作成することができます。

前提条件

開始する前に Visual Studio または Visual Studio Code がインストールされていることを確認します。 Visual Studio の無償の Community エディション、または無償の Visual Studio Code を「Visual Studio のダウンロード」からダウンロードします。

Azure SQL Database サーバーは、ポート 1433 でリッスンします。 企業のファイアウォール内から Azure SQL Database サーバーに接続しようとする場合、正常に接続するには、このポートを企業のファイアウォールで開ける必要があります。

Azure SQL Database の場合の接続情報の取得

Azure SQL Database でパッケージを実行するには、SSIS カタログ データベース (SSISDB) に接続するために必要な接続情報を取得します。 次の手順では、完全修飾サーバー名とログイン情報が必要です。

  1. Azure Portal にログインします。
  2. 左側のメニューから [SQL Databases] を選択し、[SQL データベース] ページで SSISDB データベースを選びます。
  3. データベースの [概要] ページで、完全修飾サーバー名を確認します。 [クリックしてコピー] オプションを表示するには、サーバー名にマウス ポインターを移動します。
  4. Azure SQL Database サーバーのログイン情報を忘れた場合は、[SQL Database サーバー] ページに移動し、サーバーの管理者名を表示します。 必要に応じて、パスワードをリセットできます。
  5. [データベース接続文字列の表示] をクリックします。
  6. 完全な ADO.NET 接続文字列を確認します。 任意で、コードで SqlConnectionStringBuilder を使用し、入力した個々のパラメーター値でこの接続文字列を再作成できます。

新しい Visual Studio プロジェクトの作成

  1. Visual Studio で、[ファイル][新規][プロジェクト] の順に選択します。
  2. [新しいプロジェクト] ダイアログで、[Visual C#] を展開します。
  3. [コンソール アプリ] を選択し、プロジェクト名に run_ssis_project を入力します。
  4. [OK] をクリックして Visual Studio で新しいプロジェクトを開きます。

参照の追加

  1. ソリューション エクスプローラーで、[参照] フォルダーを右クリックし、[参照の追加] を選択します。 [参照マネージャー] ダイアログ ボックスが表示されます。
  2. [参照マネージャー] ダイアログ ボックスで、[アセンブリ] を展開して [拡張機能] を選択します。
  3. 次の 2 つの参照を選択して追加します。
    • Microsoft.SqlServer.Management.Sdk.Sfc
    • Microsoft.SqlServer.Smo
  4. [参照] ボタンをクリックして、参照を Microsoft.SqlServer.Management.IntegrationServices に追加します (このアセンブリはグローバル アセンブリ キャッシュ (GAC) にのみインストールされます)。 [参照するファイルの選択] ダイアログ ボックスが表示されます。
  5. [参照するファイルの選択] ダイアログ ボックスで、アセンブリを含む GAC フォルダーに移動します。 通常このフォルダーは C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Management.IntegrationServices\14.0.0.0__89845dcd8080cc91 です。
  6. フォルダー内のアセンブリ (.dll ファイル) を選択し、[追加] をクリックします。
  7. [OK] をクリックして [参照マネージャー] ダイアログ ボックスを閉じ、3 つの参照を追加します。 参照があることを確認するには、ソリューション エクスプローラーで [参照] リストを確認します。

C# コードを追加する

  1. Program.cs を開きます。

  2. Program.cs のコンテンツを次のコードに置き換えます。 サーバー、データベース、ユーザー、およびパスワードの適切な値を追加します。

Note

次の例では、Windows 認証を使用します。 SQL Server 認証を使用するには、Integrated Security=SSPI; 引数を User ID=<user name>;Password=<password>; に置き換えます。 Azure SQL Database サーバーに接続する場合、Windows 認証を使用できません。

using Microsoft.SqlServer.Management.IntegrationServices;
using System.Data.SqlClient;

namespace run_ssis_package
{
    class Program
    {
        static void Main(string[] args)
        {
            // Variables
            string targetServerName = "localhost";
            string folderName = "Project1Folder";
            string projectName = "Integration Services Project1";
            string packageName = "Package.dtsx";

            // Create a connection to the server
            string sqlConnectionString = "Data Source=" + targetServerName +
                ";Initial Catalog=master;Integrated Security=SSPI;";
            SqlConnection sqlConnection = new SqlConnection(sqlConnectionString);

            // Create the Integration Services object
            IntegrationServices integrationServices = new IntegrationServices(sqlConnection);

            // Get the Integration Services catalog
            Catalog catalog = integrationServices.Catalogs["SSISDB"];

            // Get the folder
            CatalogFolder folder = catalog.Folders[folderName];

            // Get the project
            ProjectInfo project = folder.Projects[projectName];

            // Get the package
            PackageInfo package = project.Packages[packageName];

            // Run the package
            package.Execute(false, null);

        }
    }
}

コードの実行

  1. アプリケーションを実行するには、F5 を押します。
  2. パッケージが期待どおりに実行されたことを確認したら、アプリケーション ウィンドウを閉じます。

次のステップ