SSIS - 如何将记录集作为 "Execute SQL Task" 的结果转换为列表<string>
SSIS - how to transform a Recordset as a result of an "Execute SQL Task" into a List<string>
从 SSIS 包中的 "Execute SQL Task" 步骤获得结果,如何将结果 (RecordSet) 转换为 List ?
(sql 脚本的结果:1 个 nvarchar 列)
第 1 步:"Execute SQL Task",
脚本:"select Name from MyTable",
结果集:"Full result set",将“0”映射到变量 "User::Names"
第 2 步:?
第 3 步:使用类型为列表的变量 "User::NameList",其中包含脚本中从第一行开始选择的所有值。
public void Main()
{
var dt = new DataTable();
new OleDbDataAdapter().Fill(dt, this.Dts.Variables["User::Names"].Value);
var list = dt.Rows.OfType<DataRow>().Select(i => i[0].ToString()).ToList();
this.Dts.Variables["User::NameList"].Value = list;
this.Dts.TaskResult = (int)ScriptResults.Success;
}
从 SSIS 包中的 "Execute SQL Task" 步骤获得结果,如何将结果 (RecordSet) 转换为 List ? (sql 脚本的结果:1 个 nvarchar 列)
第 1 步:"Execute SQL Task", 脚本:"select Name from MyTable", 结果集:"Full result set",将“0”映射到变量 "User::Names"
第 2 步:?
第 3 步:使用类型为列表的变量 "User::NameList",其中包含脚本中从第一行开始选择的所有值。
public void Main()
{
var dt = new DataTable();
new OleDbDataAdapter().Fill(dt, this.Dts.Variables["User::Names"].Value);
var list = dt.Rows.OfType<DataRow>().Select(i => i[0].ToString()).ToList();
this.Dts.Variables["User::NameList"].Value = list;
this.Dts.TaskResult = (int)ScriptResults.Success;
}