我的源文件包含两个字段: IP_ADDRESS 和 USER_NAME 。我想在使用DATASTAGE将IP地址加载到数据仓库之前检查IP地址是否正确。我该怎么做?
答案 0 :(得分:0)
我正在浏览Stack Overflow并认为我可能有一个问题的解决方案。如果您创建一个作业来从文件中获取所有IP_ADDRESS并将它们发送到BASIC转换器(在DataStage中搜索BASIC转换器。它不是通常在调色板上的那个)。从那里,将Stage Variables设置为'SetUserStatus()并将列名写出到一个peek阶段(根本不需要输出.SetUserStatus是重要的部分)。现在,您可以将命令输出(IP地址列表)传递给序列。从序列开始,您刚刚创建的作业(BASIC转换器作业)并将其链接到用户变量活动。在“用户变量活动”阶段,将名称设置为“IP地址”,将表达式设置为IP_ADDRESS。$ UserStatus。然后,您可以使用循环来获取现在为List的输出,并使用Ping命令将每个单独的IP地址发送到Execute Stage,以查看它是否返回有效的IP地址。如果确实返回了有效的IP,则让您的作业写入USER_NAME和IP_ADDRESS,以执行“选择”语句,其中IP_ADDRESS =有效的IP_ADDRESS。对于无效的那些,你可以将它们发送到不同的路径并让它们写出某个地方的'.txt'文件,这样你就知道哪些是无效的。我相信你需要更多的步骤,但这应该是它的要点。
希望我的快速刺激你的问题有所帮助。
答案 1 :(得分:0)
是的,您可以使用变压器或变压器和过滤器来执行此操作,具体取决于您使用的Datastage版本。如果您正在使用PX,只需在变换器阶段对验证逻辑进行编码,然后在输出链接上设置一个过滤器,如果它们未通过验证逻辑,则不允许行向前传递。