.NET uygulamasında C# koduyla SSIS paketi çalıştırma

Şunlar için geçerlidir:SQL Server Azure Data Factory'de SSIS Tümleştirme Çalışma Zamanı

Bu hızlı başlangıçta, bir veritabanı sunucusuna bağlanmak ve bir SSIS paketi çalıştırmak için C# kodu yazma işlemi gösterilmektedir.

C# uygulaması oluşturmak için Visual Studio, Visual Studio Code veya seçtiğiniz başka bir aracı kullanabilirsiniz.

Önkoşullar

Başlamadan önce Visual Studio veya Visual Studio Code'un yüklü olduğundan emin olun. Visual Studio İndirmeleri'nden Visual Studio'nun ücretsiz Community sürümünü veya ücretsiz Visual Studio Code sürümünü indirin.

Azure SQL Veritabanı sunucusu 1433 numaralı bağlantı noktasını dinler. Şirket güvenlik duvarı içinden bir Azure SQL Veritabanı sunucusuna bağlanmaya çalışıyorsanız, başarıyla bağlanabilmeniz için bu bağlantı noktasının şirket güvenlik duvarında açık olması gerekir.

Azure SQL Veritabanı için bağlantı bilgilerini alın

Paketi Azure SQL Veritabanı'nda çalıştırmak için SSIS Kataloğu veritabanına (SSISDB) bağlanmanız için gereken bağlantı bilgilerini alın. Aşağıdaki yordamlarda tam nitelikli sunucu adına ve oturum açma bilgilerine ihtiyacınız vardır.

  1. Azure portalınaoturum açın.
  2. Sol taraftaki menüden SQL Veritabanları'nı ve ardından SQL veritabanları sayfasında SSISDB veritabanını seçin.
  3. Veritabanınızın Genel Bakış sayfasında tam nitelikli sunucu adını gözden geçirin. Kopyalamak için tıklayın seçeneğini görmek için sunucu adının üzerine gelin.
  4. Azure SQL Veritabanı sunucusu oturum açma bilgilerinizi unutursanız, sunucu yöneticisi adını görüntülemek için SQL Veritabanı sunucusu sayfasına gidin. Gerekirse parolayı sıfırlayabilirsiniz.
  5. Veritabanı bağlantı dizelerini göster'i seçin.
  6. Tam ADO.NET bağlantı dizesini gözden geçirin. İsteğe bağlı olarak, kodunuz sağladığınız bağımsız parametre değerleriyle bu bağlantı dizesini yeniden oluşturmak için SqlConnectionStringBuilder kullanabilir.

Yeni bir Visual Studio projesi oluşturma

  1. Visual Studio'da Dosya, Yeni, Proje'yi seçin.
  2. Yeni Proje iletişim kutusunda Visual C# öğesini genişletin.
  3. Konsol Uygulaması'nı seçin ve proje adı için run_ssis_project girin.
  4. Visual Studio'da yeni projeyi oluşturmak ve açmak için Tamam'ı seçin.

Kaynak ekle

  1. Çözüm Gezgini'nde Başvurular klasörüne sağ tıklayın ve Başvuru Ekle'yi seçin. Başvuru Yöneticisi iletişim kutusu açılır.
  2. Başvuru Yöneticisi iletişim kutusunda Derlemeler'i genişletin ve Uzantılar'ı seçin.
  3. Eklemek için aşağıdaki iki başvuruyu seçin:
    • Microsoft.SqlServer.Management.Sdk.Sfc
    • Microsoft.SqlServer.Smo
  4. Microsoft.SqlServer.Management.IntegrationServices'e başvuru eklemek için Gözat düğmesini seçin. (Bu derleme yalnızca genel derleme önbelleğine (GAC) yüklenir.) Başvurulacak dosyaları seçin iletişim kutusu açılır.
  5. Başvurulacak dosyaları seçin iletişim kutusunda, derlemeyi içeren GAC klasörüne gidin. Bu klasör genellikle şeklindedir C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Management.IntegrationServices\14.0.0.0__89845dcd8080cc91.
  6. Klasördeki derlemeyi (yani .dll dosyasını) seçin ve Ekle'yi seçin.
  7. Başvuru Yöneticisi iletişim kutusunu kapatmak ve üç başvuruyu eklemek için Tamam'ı seçin. Referansların orada olduğundan emin olmak için Çözüm Gezgini'ndeki Referanslar listesine bakın.
  8. Microsoft.Data.SqlClient NuGet paketini ekleyin. Çözüm Gezgini'nde projeye sağ tıklayın, NuGet Paketlerini Yönet'i seçin, araması Microsoft.Data.SqlClientyapın ve yükleyin.

C# kodunu ekleme

  1. Program.cs dosyasını açın.

  2. Program.cs içeriğini aşağıdaki kodla değiştirin. Sunucunuz, veritabanınız, kullanıcınız ve parolanız için uygun değerleri ekleyin.

Uyarı

Aşağıdaki örnek Windows Kimlik Doğrulaması'nı kullanır. SQL Server kimlik doğrulamasını kullanmak için Integrated Security=SSPI; bağımsız değişkenini User ID=<user name>;Password=<password>; ile değiştirin. Azure SQL Veritabanı sunucusuna bağlanıyorsanız Windows kimlik doğrulamasını kullanamazsınız.

using Microsoft.SqlServer.Management.IntegrationServices;
using Microsoft.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);

        }
    }
}

Kodu çalıştır

  1. Uygulamayı çalıştırmak için F5 tuşuna basın.
  2. Paketin beklendiği gibi çalıştığını doğrulayın ve uygulama penceresini kapatın.