利用kettle組件匯入excel檔案到資料庫,kettleexcel

來源:互聯網
上載者:User

利用kettle組件匯入excel檔案到資料庫,kettleexcel

利用kettle組件匯入excel檔案到資料庫

      

1.     實現目標

      把excel檔案內容匯入到目標表中;然後用java調用kettle的轉換。excel檔案的內容只有兩列,樣本如下:

      資料庫表的結構如下:

 

2.     設計分析
  • 使用oracle函數解決黃色行的欄位:兩個uuid和兩個系統日期;

需要產生uuid,這個在oracle中可以利用SYS_UUID()函數實現;

需要產生目前時間作為建立時間和修改時間,使用oracle的to_char(sysdate,’yyyy-MM-dd hh:mm:ss’)實現;

  • 使用具名引數解決藍色列欄位

建立人及修改人的ID(兩者一致)、組織ID、來源檔案的ID;分別使用具名引數:

      ${USER_ID}、${ORG_ID}、${FILE_ID}、${FILE_NAME};

其中檔案名稱是讀取excel步驟要使用的;

  • 使用excel行內容作為綠色行的值

即企業名稱和組織機構代碼兩個欄位;

  • 使用預設值作為白色行的值

3.     設計kettle的轉換檔

使用excel輸入步驟讀取excel內容,使用執行sql腳步步驟把記錄插入資料表中;

3.1.            設計步驟

從輸入類別中拖動excel input步驟到工作區,從腳步類別中拖動執行sql腳步到工作區;按shift鍵,從excel input步驟串連到sql腳步步驟。如:

3.2.            配置步驟
  • 配置excel步驟

雙擊excel步驟,開啟配置對話方塊:

  • 設定資料庫串連

記得把oracle的jdbc驅動加到kettle的lib目錄中,可以測試連接。

  • 配置執行sql腳步步驟

雙擊該步驟開啟配置,首先選擇前面配置的資料庫連接,然後寫insert語句。需要注意的是字元類型要用引號括起來,即使是變數或?都需要括起來。

問號的內容需要在parameters中配置對應的流欄位;

因為需要執行多行,需要選中Execute for each row選項;

因為有變數,需要選中Variable substutution選項;

3.3.            配置參數

前面分析了需要四個參數,分別在兩個步驟使用到了,所以需要給轉換配置四個具名引數:      USER_ID、ORG_ID、FILE_ID、FILE_NAME;

雙擊工作區空白部分開啟轉換配置,輸入相應的參數,也可以添加預設值,用於在kettle中進行測試使用,直到測試沒有錯誤。

至此,在kettle的設計工作已經做完,大家可以參考這篇部落格文章,關於動態查詢的詳細說明,地址:http://blog.csdn.net/neweastsun/article/details/39287809;

4.     在java調用轉換

調用之前,需要準備上述四個參數的內容,然後把參數傳給轉換執行;詳細內容參考這篇部落格文章:

http://blog.csdn.net/neweastsun/article/details/40886841

 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.