使用c#执行包SSIS失败
问题描述:
我在vs 2015中使用集成服务项目创建了SSIS包。 使用数据源连接建立成功。我可以使用执行包实用程序和命令行成功执行包。 请检查下面的屏幕截图。 我在使用c#执行相同的包时遇到问题。 无法执行包。 我应用了eventlistener,得到了以下错误。 请在下面的几张截图中找到更多信息。
使用c#执行包SSIS失败
代码以供参考:
Application app = new Application();
Package pkg = app.LoadPackage(@"C:\Project\Sample\Package1.dtsx", listener);
DTSExecResult results = pkg.Execute(null, null, listener, null, null);
在结果反对我买了给定的错误失败。
答
正如@Tab Alleman所说,您可以通过调用启动SQL Agent JOB的C#中的存储过程sp_start_job
运行该程序包。
下面的一段代码,可以是帮助在这种类型的方法,创建SQL代理作业后:
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();
}
}
我希望这帮助。
+0
感谢您的这项工作。暂时它会工作。但将来我已经解决了这个问题。如果你有任何解决方案,请让我知道。 非常感谢 – Pratik
答
不幸的是,您的输出不显示确切的错误信息。我以前在C#中直接执行包时遇到了问题。
解决此问题的一个方法是创建一个SQL代理作业,执行该程序包,然后从启动SQL代理作业的C#调用存储过程。
基本上你在做什么“数据流任务”?如果包在BIDS中运行,包是否成功运行? –
我是SSIS的新手,我的要求是通过SSIS从Hadoop中获取数据,我成功地在UI上显示数据并使用c#执行某些操作。我可以在Visual Studio中使用集成服务项目预览我的数据。并能够运行也。但是一旦创建了dtsx文件并且我在pkg.execute行上发生了错误。 Actaully我不知道什么是数据流任务错误 – Pratik