2010-08-19 61 views
1

我有一个运行SSIS包的SP。从SP获取ssis包输出

xp_cmdshell 'dtexec /f "F:\SSIS Package\test.dtsx" /Rep E' 

当我在VS中运行SP时,我得到一个输出窗口,我可以看到它是否成功。 有没有办法从这个输出到我的asp.net应用程序?

回答

3

我经常看到的一种做法是将结果捕获到表格中。沿着这些路线的东西:

create table #dtexecOutput(varchar(4000)) 

insert into #dtexecOutput exec master..xp_cmdshell 'dtexec /f "F:\SSIS Package\test.dtsx" /Rep E' 

select * from #dtexecOutput 
+0

是的,这也是我所做的。虽然这对我来说看起来像一个黑客。但它完成了这项工作:)。 – Iulian 2010-08-20 09:13:54

0

另一种选择是输出重定向到一个文件,然后从文件中读取:

exec master..xp_cmdshell 'dtexec /f "F:\SSIS Package\test.dtsx" /Rep E > output.log' 

文件的名称应该是动态的,随机足够。