Transactions 在Informatica中逐步使用带有自定义输出文件名的事务控制
Informatica开发人员似乎需要一个在映射中使用事务控制转换的分步指南,其中预期的中断是在记录从TC获得输出时创建各种文件。以一个常见的需求为例,每输出x个记录就创建一个新文件,我决定将这个示例放在一起。在我亲自动手之前,我真希望我有一个循序渐进的指南,因为我花了好几天的时间才把事情做好。“不应该那么难,”他们说,我同意。所以我希望这能帮助其他人 问题:您有一个需要输出大量记录的映射。您的内部客户端需要一个可以轻松提供的.csv文件,但他们希望能够将每个.csv文件导入到自己的Excel工作表中。他们将进行导入,但不想手动分解大型输出文件,因为它有点超出了他们的技术水平,并且没有意愿学习如何使用高容量文件编辑器打开输出文件,然后复制并粘贴每个“x”个记录,其中“x”是Excel友好的数字。因此,他们希望交付给他们的输出数据已经分解为Excel友好的.csv文件,每个文件包含65000条记录,这接近Excel的行限制Transactions 在Informatica中逐步使用带有自定义输出文件名的事务控制,transactions,informatica,Transactions,Informatica,Informatica开发人员似乎需要一个在映射中使用事务控制转换的分步指南,其中预期的中断是在记录从TC获得输出时创建各种文件。以一个常见的需求为例,每输出x个记录就创建一个新文件,我决定将这个示例放在一起。在我亲自动手之前,我真希望我有一个循序渐进的指南,因为我花了好几天的时间才把事情做好。“不应该那么难,”他们说,我同意。所以我希望这能帮助其他人 问题:您有一个需要输出大量记录的映射。您的内部客户端需要一个可以轻松提供的.csv文件,但他们希望能够将每个.csv文件导入到自己的Excel工
*
。如何确保文件以65000条记录的增量自动分解,在每个65000条记录点创建一个具有不同名称的新文件
*
早期版本。对于Excel,每个工作表的行数限制为略多于65500行。然而,最近的版本。不要。在本例中,我假设您在一家使用旧版本的公司工作。每个工作表具有此记录限制的Excel的。(最新版本的Excel允许每张工作表有超过一百万行。有关详细信息,请参阅此链接:)解决方案:
'ABC_Report_'
var_recordcount + 1
IIF(MOD(var_recordcount,65000)=0, to_char((var_recordcount/65000)+1), IIF(var_filenumber='','1',var_filenumber))
IIF(var_prev_FN = (PhysicalFileName || var_filenumber), 0, 1)
接下来,添加另一个名为“var_filenumber”的变量类型字符串端口,并为其表达式值指示如下:
var_recordcount + 1
IIF(MOD(var_recordcount,65000)=0, to_char((var_recordcount/65000)+1), IIF(var_filenumber='','1',var_filenumber))
IIF(var_prev_FN = (PhysicalFileName || var_filenumber), 0, 1)
现在添加另一个名为“var_new_FN_flag”的变量类型整型端口,对于它的表达式值,如下所示:
var_recordcount + 1
IIF(MOD(var_recordcount,65000)=0, to_char((var_recordcount/65000)+1), IIF(var_filenumber='','1',var_filenumber))
IIF(var_prev_FN = (PhysicalFileName || var_filenumber), 0, 1)
(注意“var_prev_FN”尚未定义,但它将作为下一个端口,因此,如果收到解析质询,请单击“确定”,按原样接受输入的表达式值。)
然后紧接着,添加另一个名为“var_prev_FN”的变量类型字符串端口,其长度为255,表达式值为:
PhysicalFileName || var_filenumber
PhysicalFileName || var_filenumber || '.csv'
var_new_FN_flag
在该端口之后,添加另一个名为“o_Physical_File_Name”的字符串类型的输出端口,其长度为255,表达式值为:
PhysicalFileName || var_filenumber
PhysicalFileName || var_filenumber || '.csv'
var_new_FN_flag
最后,在此之后,添加另一个名为“o_new_FN_flag”的输出端口类型整数,其表达式值为:
PhysicalFileName || var_filenumber
PhysicalFileName || var_filenumber || '.csv'
var_new_FN_flag
在这些端口之后,应该列出您希望看到的其他端口,使其进入输出文件;请注意,我们在端口列表的顶部处理各种变量操作等,只有在操作/设置这些变量之后,才最终列出输出端口。单击“端口”选项卡中的“应用”和“确定”关闭“编辑转换”对话框
IIF(o_new_FN_flag = 0,TC_CONTINUE_TRANSACTION,TC_COMMIT_BEFORE)