2012-01-11 4 views
0

CIS 응용 프로그램에서 SSIS 패키지를 성공적으로 실행할 수 있습니다. .NET (C#) 응용 프로그램에서 SSIS 패키지 내에서 특정 작업을 실행할 수 있습니까?C# 응용 프로그램에서 SSIS 작업 실행

+0

을 실행할 수 있다고 생각합니다. –

+0

작업의 속성에 액세스하고 그것을 실행하는 대신 변경하는 것은 어떨까요? 그게 가능하니? – ssokol91

+1

물론입니다. [This] (http://learnbycoding.com/2011/07/creating-a-simple-ssis-package-programmatically-using-c/#.Tw42oKVSR9Q)는 내가 최근에 읽은 튜토리얼과 약간 다르지만, 같은 목적. –

답변

0

나는 패키지의 작업에 액세스하고 여기에 속성을 설정하는 방법을 발견했다.

var task = (TaskHost)package.Executables["Your Package Name"]; 

task.Properties["Any Property"].SetValue(task, "Property Value"); 

어쨌든 누구나 입력 해 주셔서 감사합니다.

2

우리는 ASP.NET 웹 양식 응용 프로그램을 사용하여 몇 년 전 기본적으로 서버에 배포 된 SSIS 패키지를 실행 한 SQL 에이전트 작업을 만든 다음 엔터프라이즈 라이브러리

public bool ExecutePackage(string jobName) 
    { 
     int result = -1; 
     bool success = false; 

     try 
     { 
      // "SsisConnectionString" will be the name of your DB connection string in your config 
      Database db = DatabaseFactory.CreateDatabase("SsisConnectionString"); 
      using (DbCommand dbCommand = db.GetStoredProcCommand("sp_start_job")) 
      { 
       db.DiscoverParameters(dbCommand); 
       db.SetParameterValue(dbCommand, "job_name", jobName); 
       db.SetParameterValue(dbCommand, "job_id", null); 
       db.SetParameterValue(dbCommand, "server_name", null); 
       db.SetParameterValue(dbCommand, "step_name", null); 
       db.ExecuteNonQuery(dbCommand); 
       result = Convert.ToInt32(db.GetParameterValue(dbCommand, "RETURN_VALUE")); 
      } 
     } 
     catch (Exception exception) 
     { 
      success = false; 
     } 

     switch (result) 
     { 
      case 0: 
       success = true; 
       break; 
      default: 
       success = false; 
       break; 
     } 

     return success; 
    } 

그리고 당신의 설정에

:

<connectionStrings> 
    <add name="SsisConnectionString" 
     connectionString="Data Source=<server>;Initial Catalog=MSDB;User Id=<user>;Password=<pwd>;" 
     providerName="System.Data.SqlClient"/> 
</connectionStrings> 
+0

어떻게이 패키지가 단일 태스크? –

2

나는 당신이 API를 사용하여 패키지를 열고 모든 다른 작업을하지 않도록 한 다음 다니엘은 아래에서 더 동적으로 DTS API를 사용하여 제안 무엇을 얻을 수있는 최후의 수단으로 전체 패키지