2009-09-14 1 views
2

예를 들어 here from MSDN을 기반으로하면 "sp_start_job"절차를 통해 패키지를 호출하는 경우 SSIS 패키지 수준 변수를 제공 할 수 있습니까?SQL Server 에이전트를 사용하여 서버에서 프로그래밍 방식으로 원격 SSIS 패키지 실행

Dim jobConnection As SqlConnection 
Dim jobCommand As SqlCommand 
Dim jobReturnValue As SqlParameter 
Dim jobParameter As SqlParameter 
Dim jobResult As Integer 

jobConnection = New SqlConnection("Data Source=(local);Initial Catalog=msdb;Integrated Security=SSPI") 
jobCommand = New SqlCommand("sp_start_job", jobConnection) 
jobCommand.CommandType = CommandType.StoredProcedure 

jobReturnValue = New SqlParameter("@RETURN_VALUE", SqlDbType.Int) 
jobReturnValue.Direction = ParameterDirection.ReturnValue 
jobCommand.Parameters.Add(jobReturnValue) 

jobParameter = New SqlParameter("@job_name", SqlDbType.VarChar) 
jobParameter.Direction = ParameterDirection.Input 
jobCommand.Parameters.Add(jobParameter) 
jobParameter.Value = "RunSSISPackage" 

jobConnection.Open() 
jobCommand.ExecuteNonQuery() 
jobResult = DirectCast(jobCommand.Parameters("@RETURN_VALUE").Value, Integer) 
jobConnection.Close() 

Select Case jobResult 
    Case 0 
    Console.WriteLine("SQL Server Agent job, RunSISSPackage, started successfully.") 
    Case Else 
    Console.WriteLine("SQL Server Agent job, RunSISSPackage, failed to start.") 
End Select 
Console.Read() 

가 어떻게 "RunSSISPackage"라는 SSIS 패키지 내부의 변수에 값을 제공 할 수 있습니다 : 여기

은 MSDN에서 예제 코드?

답변

2

매개 변수가 포함 된 행을 삽입 한 다음 작업을 시작하는 대기열처럼 작동하도록 표를 만들 수 있습니다. 그러면 실행되는 TSQL 내에서 값을 선택하고 큐 행 "C"를 표시하거나 그냥 삭제하고 진행하십시오.

편집

다음 방법을 모두 커버하는 Running SSIS package programmatically보고 시도 : 프로그래밍 SSIS는 모델에게

  • 시작 DTEXEC.EXE 과정을 객체 사용

    • 실행 패키지를. DTEXEC은 SSIS 패키지를 실행하기위한 명령 줄 유틸리티입니다.
    • SQL 에이전트를 사용하십시오. 당신을 위해 dtexec를 시작하는 패키지
    • 를 사용하여 다른 유틸리티를 실행하는 에이전트 작업을 구성 할 수 있습니다
  • +0

    내 패키지는 동적 연결 문자열을 사용합니다. 테이블 쿼리를 통해 패키지의 값을 어떻게 설정할 수 있습니까? – D3vtr0n

    +0

    매개 변수 중 하나가 연결 정보입니까? –

    +0

    예, 모든 매개 변수는 동적 액세스 대상 파일의 연결 정보입니다. 사용자는이 데이터를 전송할 폴더를 선택할 수 있습니다. 내 SSIS 패키지를 이해하려면 해당 매개 변수가 필요합니다. 어떤 아이디어? – D3vtr0n

    0

    우리는을 통해 런타임에 동적으로 우리의 변수 값을 변경하려면 패키지를 실행하는 사용자 지정 응용 프로그램을 만들기 구성 테이블 또는 구성 파일의 사용. 우리는 사용자가 우리의 SSIS 패키지를 실행할 수는 없지만, 당신의 작업이 먼저 설정 파일을 업데이트 한 다음 패키지를 실행하는 단계가 있다고 가정합니다.

    관련 문제