2009-09-14 6 views
0

이 작은 코드는 SQL Server 에이전트를 사용하여 서버에서 프로그래밍 방식으로 원격 패키지를 실행합니다. 그러나이 코드의 문제점은 작업이 실패하더라도 작업이 성공적으로 실행되었다는 것입니다. 그래서이 프로그램은 항상 잘 작동합니다.SQL 작업 결과가 C#

나는 실제로 C#에서 작업 결과를 캡처 할 수 있는지 알고 싶다. .. 어떤 생각? 당신은 실행 sp_help_job를 시도 할 수

답변

0

namespace LaunchSSISPackageAgent_CS 
{ 
    class Program 
    { 
static void Main(string[] args) 
{ 
    SqlConnection jobConnection; 
    SqlCommand jobCommand; 
    SqlParameter jobReturnValue; 
    SqlParameter jobParameter; 
    int jobResult; 

    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 = (Int32)jobCommand.Parameters["@RETURN_VALUE"].Value; 
    jobConnection.Close(); 

    switch (jobResult) 
    { 
    case 0: 
     Console.WriteLine("SQL Server Agent job, RunSISSPackage, started successfully."); 
     break; 
    default: 
     Console.WriteLine("SQL Server Agent job, RunSISSPackage, failed to start."); 
     break; 
    } 
    Console.Read(); 
} 

은} 이후

http://technet.microsoft.com/en-us/library/ms186722(SQL.90).aspx

+0

더 저장 시저가 없습니다. 작업에 2 단계가 있습니다. 1. Excel에서 많은 양의 데이터를 가져 오는 DTSX 패키지를 실행하십시오. 2. 데이터의 첫 번째 단계 후 몇 개의 SQL 문을 실행합니다. –