c# – 如何在SSIS脚本任务中循环遍历通用对象

我有一个从SQL进程传递到脚本任务的通用对象.该对象本质上是一个数据表,但为了从sql进程获取完整的结果集,我必须将它存储在一个通用对象中.

所以如果我有:

Object A = Dts.Variables[0];

然后,我将如何提取并操纵其值.

基本上我想做的是:

Object A = Dts.Variables[0];
strin x = A.Column[0].value.tostring();

但这显然不起作用.

最佳答案
从Object解析数据表没有任何问题.我已经看到Andy Leonard在他的ETL框架上做了.

你是在正确的道路上,但你没有看到整个画面.此代码将类型为Variable(大约)的对象分配给A.然后,您尝试访问不存在的属性.

Object A = Dts.Variables[0];

你需要抓住变量的值.您可以将其作为A的分配

Object A = Dts.Variables[0].Value;

或者,如果您需要对实际变量执行其他操作,则必须保留当前的A代码分配,然后访问Value属性.

Object A = Dts.Variables[0];
DataTable B = (DataTable) A.Value;
DataRow C = B.Row[0];
string x = C.Column[0].ToString();

上面的数据表/ datarow代码是近似的.重要的一点就是访问SSIS变量所持有的好东西,需要访问该对象的Value.

转载注明原文:c# – 如何在SSIS脚本任务中循环遍历通用对象 - 代码日志