在DTS任务中没有返回任何行,但在调试脚本时返回

时间:2013-11-15 16:16:25

标签: sql-server ssis dts

我希望我能正确解释一下。我有一个SSIS脚本任务,它非常简单地查询视图,用结果填充数据表并输出结果数据表所具有的行数。

SqlCommand cmd = new SqlCommand("select .....", conn);
                using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                {
                    da.Fill(dt);
                    output += "Datatable row count " + dt.Rows.Count.ToString() + " \r\n";
                }

在Visual Studio中,它返回正确的结果/ rowcount(165行)。当我保存包并将其作为SQL Server作业中的一个步骤运行时,它返回一个0的rowcount。(作业运行没有错误)相同的代码,相同的查询,相同的连接,相同的凭据只有区别是当我点击时它的工作原理Visual Studio中的包中的“debug”,但是当我将包作为SQL Server作业步骤执行时则不会。

让我生气!任何想法?非常感谢。

1 个答案:

答案 0 :(得分:0)

我建议通过dtexec命令行工具或dtexecUI运行,以查看它产生的行为。这将有助于确定它是否是包裹问题或工作问题。另外,您是否在SSIS脚本任务中运行此操作?如果是这样,SSIS提供了一些结构,以更标准(以SSIS)的方式执行此操作。例如,您可以在DataFlow中使用OLEDB源,然后使用RowCount任务报告通过管道传递的RowsAffected计数。