2013-02-27 85 views
0

我有一个包含两个字段的源文件:IP_ADDRESSUSER_NAME。我想在使用DATASTAGE将数据加载到数据仓库之前检查IP地址是否正确。我该怎么做呢?验证datastage中的IP地址

回答

0

我正在浏览堆栈溢出,并认为我可能有解决您的问题。如果创建一个作业从文件中获取所有IP_ADDRESS,并将它们发送到BASIC转换器(在DataStage中搜索BASIC转换器,但通常不在调色板中)。从那里,将Stage Variables设置为'SetUserStatus()并将列名写出到一个窥视阶段(根本不需要输出,SetUserStatus是最重要的部分)。这将允许您将命令输出(IP地址列表)传递给序列。从序列中,从刚刚创建的作业开始(BASIC转换器作业)并将其链接到用户变量作业。在用户变量活动阶段,将名称设置为“IP地址”和表达式为IP_ADDRESS。$ UserStatus。然后,您可以使用循环获取现在是List的输出,并使用Ping命令将每个单独的IP地址发送到执行阶段,以查看它是否返回有效的IP地址。如果它返回一个有效的IP,那么让你的作业写USER_NAME和IP_ADDRESS来做一个'Select'语句,其中IP_ADDRESS =有效的IP_ADDRESS。对于那些无效的文件,你可以将它们发送到不同的路径,并让它们写在'.txt'文件的某个地方,以便知道哪些文件无效。我相信你会在那里需要更多的步骤,但这应该是它的要点。

希望我的快速刺伤你的问题帮助。

0

是的,您可以使用变压器或变压器和滤波器来实现这一点,具体取决于您使用的Datastage版本。如果您使用的是PX,只需在变换阶段对验证逻辑进行编码,然后在输出链接上设置一个过滤器,如果它们未通过验证逻辑,则不允许行向前传递。