使用c#执行包SSIS失败

时间:2016-09-30 11:21:26

标签: c# ssis

我在vs 2015中使用集成服务项目创建了SSIS包。 使用Datasource我的连接建立成功。我可以使用Execute Package Utility和Command line执行包,这是成功的。 请检查下面的屏幕截图。 Execute package successfully 我在使用c#执行相同的包时遇到问题。 执行包失败。 我已应用eventlistener,低于错误。 请在下面找到几个截图以获取更多信息。 Error on execute using c# code

参考代码:

Application app = new Application();
Package pkg = app.LoadPackage(@"C:\Project\Sample\Package1.dtsx", listener);
DTSExecResult results = pkg.Execute(null, null, listener, null, null);

在结果对象中,我因给定错误而失败。

2 个答案:

答案 0 :(得分:1)

正如@Tab Alleman所说,您可以通过从启动SQL Agent JOB的C#调用存储过程sp_start_job来运行该包。

在创建SQL Agent JOB之后,这里有一段可以帮助这种方法的代码:

SqlConnection Conn = new SqlConnection(YOURCONNECTION);

SqlCommand ExecuteJob = new SqlCommand();
ExecuteJob.CommandType = CommandType.StoredProcedure;
ExecuteJob.CommandText = "msdb.dbo.sp_start_job";
ExecuteJob.Parameters.AddWithValue("@job_name", YOURJOBNAME")
ExecuteJob.Connection = Conn; 

using (Conn)
{
    Conn.Open();

    using (ExecuteJob)
    {
        ExecuteJob.ExecuteNonQuery();
    }
}

我希望这有帮助。

答案 1 :(得分:0)

不幸的是,您的输出未显示确切的错误消息。我在过去直接从C#执行包时遇到了问题。

解决此问题的一种方法是创建执行包的SQL代理作业,然后从启动SQL代理作业的C#调用存储过程。

相关问题