计算表中的记录并将数据写入 SSIS 中的文本文件
Posted
技术标签:
【中文标题】计算表中的记录并将数据写入 SSIS 中的文本文件【英文标题】:Counting records from a table and writing the data into a text file in SSIS 【发布时间】:2019-11-02 18:23:01 【问题描述】:COMPANY_CODE POLICY_NUMBER AGENT PLAN_CODE AGENT_RANKING SPLIT STATUS
01 001 100 ADV GOLD 1.0.0.0.0.0 0.3 BUYOUT
01 001 101 ADV GOLD 1.1.0.0.0.0 0.5 LTCGPAY
01 001 102 ADV GOLD 1.2.0.0.0.0 0.2 HPAY
这是一个名为 table2 的表。
我使用过这些查询:
select 'Pol_Number' as POL
union all
select POLICY_NUMBER from day2
我的目标是将这些数据写入 .txt 文件,如果任何条件不匹配,它将创建一个大小为 0 kb 的 .txt 文件
【问题讨论】:
您可以通过创建一个简单的 SSIS 包来执行此操作,在该包中您使用 OLE DB 源从您提到的 SQL 命令中读取数据,并使用平面文件目标将数据导出到平面文件(如果没有行)导出时会默认创建一个空文件。 从上面的SQL命令中,当没有数据时,空文件没有被创建,因为它的标题为'Pol'。我想要一个解决方案,如果表中有数据它将创建一个有标题和数据的文件,如果没有数据,它将创建一个没有任何标题的空白文件 【参考方案1】:尝试使用以下 SQL 命令作为源
select POLICY_NUMBER from day2
另一方面,在目标使用的平面文件连接管理器中,转到高级选项卡并仅定义一个名为 Pol_Number
的列。
更多信息可以参考以下官方文档:
Flat File Connection Manager Editor (Advanced Page)【讨论】:
【参考方案2】:它得到了解决。我所做的是首先我通过 DFT 执行查询并存储 变量中的行计数(行计数)。然后,从该 DFT 中,我将条件置于优先约束中(如果 Row Count==1,它将执行 DFT2,否则如果 Rowcount>1,它将执行 DFT 3)。
【讨论】:
以上是关于计算表中的记录并将数据写入 SSIS 中的文本文件的主要内容,如果未能解决你的问题,请参考以下文章