我希望我能正确解释一下。我有一个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作业步骤执行时则不会。
让我生气!任何想法?非常感谢。
答案 0 :(得分:0)
我建议通过dtexec命令行工具或dtexecUI运行,以查看它产生的行为。这将有助于确定它是否是包裹问题或工作问题。另外,您是否在SSIS脚本任务中运行此操作?如果是这样,SSIS提供了一些结构,以更标准(以SSIS)的方式执行此操作。例如,您可以在DataFlow中使用OLEDB源,然后使用RowCount任务报告通过管道传递的RowsAffected计数。