SSIS 条件拆分基于列值
SSIS Condition split based on column value
大家好,
我有一个 select 查询,我从 sql 中提取数据,即
select invno , date_received from sales
我想做的是使用条件拆分将文件拆分为多个文件。
我不知道如何设置我试过的条件如下
但它只创建一个文件,如果我不知道列值是什么,如何根据列值创建多个文件?
我还想将列值即 INVNO 分配给文件名,以防止覆盖文件
使用开箱即用的组件,你最好的选择是拥有这样的东西
执行 SQL 任务将 return 一个完整的结果集到一个对象类型的 SSIS 变量。您的查询将生成不同的 INVNO 集。 SELECT DISTINCT T.INVNO FROM dbo.Sales AS T;
然后 Foreach 循环容器将 "shred" 该记录集放入我们的 INVNO 的单个实例中。这要求您有一个变量(可能是字符串类型)来接收该数字。
数据流任务将有一个参数化查询作为源查询。假设 OLE DB 连接管理器,那是 select INVNO, date_received FROM dbo.Sales AS S WHERE S.INVNO = ?;
然后你映射到 INVNO 的当前值(作为 FELC 粉碎的一部分分配)
最后,平面文件连接管理器将在 ConnectionString 属性 上有一个表达式,它会影响输出文件的完整路径。它可以像 "C:\ssisdata\" + @[User::Invno] + ".csv"
这样简单
哦,为平面文件连接管理器和数据流任务设置 DelayValidation = True。
大家好,
我有一个 select 查询,我从 sql 中提取数据,即
select invno , date_received from sales
我想做的是使用条件拆分将文件拆分为多个文件。
我不知道如何设置我试过的条件如下
但它只创建一个文件,如果我不知道列值是什么,如何根据列值创建多个文件?
我还想将列值即 INVNO 分配给文件名,以防止覆盖文件
使用开箱即用的组件,你最好的选择是拥有这样的东西
执行 SQL 任务将 return 一个完整的结果集到一个对象类型的 SSIS 变量。您的查询将生成不同的 INVNO 集。 SELECT DISTINCT T.INVNO FROM dbo.Sales AS T;
然后 Foreach 循环容器将 "shred" 该记录集放入我们的 INVNO 的单个实例中。这要求您有一个变量(可能是字符串类型)来接收该数字。
数据流任务将有一个参数化查询作为源查询。假设 OLE DB 连接管理器,那是 select INVNO, date_received FROM dbo.Sales AS S WHERE S.INVNO = ?;
然后你映射到 INVNO 的当前值(作为 FELC 粉碎的一部分分配)
最后,平面文件连接管理器将在 ConnectionString 属性 上有一个表达式,它会影响输出文件的完整路径。它可以像 "C:\ssisdata\" + @[User::Invno] + ".csv"
哦,为平面文件连接管理器和数据流任务设置 DelayValidation = True。