kettle常見問題之錯誤處理

2021-06-20 07:14:03 字數 861 閱讀 6464

在kettle執行的過程中,如果遇到錯誤,kettle會停止執行。在某些時候,並不希望kettle停止執行,這時候可以使用錯誤處理(step error handling)。錯誤處理允許你配置乙個步驟來取代出現錯誤時停止執行乙個轉換,出現錯誤的記錄行將會傳遞給另乙個步驟。在step error handling settings對話方塊裡,需要設定啟用錯誤處理。

下面例子中讀取postgres資料庫中的a0表資料,然後輸出到a1表:

a1表結構如下:

create table a1

(a double precision,

id integer not null,

constraint id_pk primary key (id ),

constraint id_unin unique (id )

)從表結構可以看出,a1表中id為主鍵、唯一。

a0表資料預覽:

現在a1表資料為空,執行上面的轉換,執行成功之後,a1表資料和a0表資料一致。 再次執行,上面的轉換會報錯,程式停止執行,會報主鍵重複的異常。

現在,我想報錯之後,程式繼續往下執行,並記錄錯誤的記錄的相關資訊,這時候可以使用「定義錯誤處理」的功能。 在「表輸出」的步驟上右鍵選擇「定義錯誤處理」,彈出如下對話方塊。

相關字段說明:

記錄錯誤資訊的字段列表如下,可以看出,errornum、errordesc、errorname、errorcode都是在定義錯誤處理時候填入的列名稱,a、id來自於輸入的記錄的列。

記錄的錯誤資訊如下:

分析 可以看到,錯誤日誌裡只是記錄了出錯的行裡面的資訊,並沒有記錄當前行所在的表名稱以及執行時間等等,如果能夠對此進行擴充套件,則該錯誤日誌表才能更有實際意義。

更過文章熊貓team

IIS 常見錯誤處理

1.確認站點的framework版本。檢視虛擬目錄與站點的framework是否不一致 2.檢視應用程式池 高階設定 啟用win32位應用程式 3.設定isapi配置。功能檢視 雙擊 isapi篩選器 啟用isapi dll 處理程式 isapimodule 4.如果裝了vs再裝iis必須得對net...

MySQL常見錯誤處理

1.mysql error 1018 can t read dir of dbname 原因 mysql使用者不是dbname目錄的owner 此時可以 ls l 或 ll 檢視該目錄的詳細資訊,就可發現庫目錄的屬主不是mysql 解決方法 chown r mysql mysql mysql資料庫儲...

Android 常見錯誤處理

a.在android專案根目錄下新建乙個libs資料夾 b.把你需要的匯入的第三方jar包複製進這個目錄 c.在libs目錄上點右鍵,選bulid path use as source folder 2.sdk manager 無法更新.設定 天國網路問題 supress allow on devi...