2013-02-27 104 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,只需在變換階段對驗證邏輯進行編碼,然後在輸出鏈接上設置一個過濾器,如果它們未通過驗證邏輯,則不允許行向前傳遞。