【发布时间】:2013-11-15 16:16:24
【问题描述】:
我希望我能正确解释这一点。我有一个 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 中,这会返回正确的结果/行数(165 行)。当我保存包并将其作为 SQL Server 作业中的一个步骤运行时,它返回的行数为 0。(作业运行时没有错误)相同的代码、相同的查询、相同的连接、相同的凭据唯一的区别是它在我点击时起作用在 Visual Studio 的包中“调试”,但当我将包作为 SQL Server 作业步骤执行时不会。
把我逼疯了!有人有什么想法吗?非常感谢。
【问题讨论】:
-
如果您打开分析器,您是否看到打开的连接并执行了相同的查询?
-
谢谢。在 Profiler 中,我看到 Batch Starting 和 textdata 显示选择查询,然后 BATCH Completed 但没有其他内容(我没有使用 Profiler 太多)。我在数据表行数的任一侧输出文本,它输出“conn open”,然后是 rowcount,然后是“conn closed”。
标签: sql-server ssis dts