C# 如何在脚本任务中访问对象SSIS变量?
我有一个类型为object的SSIS变量,它保存来自OLE DB source的OLE DB结果集 对象是博客列表,每个博客都有标题和描述属性。 如何解析SSIS对象变量并遍历每个blog和字段 编辑:C# 如何在脚本任务中访问对象SSIS变量?,c#,ssis,C#,Ssis,我有一个类型为object的SSIS变量,它保存来自OLE DB source的OLE DB结果集 对象是博客列表,每个博客都有标题和描述属性。 如何解析SSIS对象变量并遍历每个blog和字段 编辑: 我想在脚本任务中读取完整的结果集。在第一个脚本任务中,这可能是重复的,当我尝试在第二个脚本任务中使用相同的对象变量时,对象行显示为零。这很奇怪,我没有修改SSIS对象变量。我没有看到这个问题,但我也没有尝试两次使用相同的对象填充对象。在传递给脚本任务时,是否将其设置为只读?是的,我传递了has
我想在脚本任务中读取完整的结果集。在第一个脚本任务中,这可能是重复的,当我尝试在第二个脚本任务中使用相同的对象变量时,对象行显示为零。这很奇怪,我没有修改SSIS对象变量。我没有看到这个问题,但我也没有尝试两次使用相同的对象填充对象。在传递给脚本任务时,是否将其设置为只读?是的,我传递了has read only变量。我试着在两个独立的脚本任务中阅读。如果我发表评论,我只能阅读第一或第二篇中的一篇,但不能同时阅读两篇。在单包执行中,我有两个线性脚本任务。
// this gets the data object and sets ti to a data table
OleDbDataAdapter A = new OleDbDataAdapter();
System.Data.DataTable dt = new System.Data.DataTable();
A.Fill(dt, Dts.Variables["User::SSISObjectVariableFromPackage"].Value);
// for test data
DataTable sourceTable = dt;
//Now loop through databale and do your processing
//----------------------------------------------------------------------
//Updated -- possible solution to fix issue in comments but left original above as that works for most
//try this version instead, mabye converting the SSIS variable to a C# object first, and not accessing it directly into the A.Fill may resolve your issue in the comments:
Object OBJDataTableValidFieldListFull = Dts.Variables["User::SSISObjectVariableFromPackage"].Value;
// this gets the data object and sets ti to a data table
OleDbDataAdapter A = new OleDbDataAdapter();
System.Data.DataTable dt = new System.Data.DataTable();
A.Fill(dt, OBJDataTableValidFieldListFull);
// for test data
DataTable sourceTable = dt;
//Now loop through databale and do your processing