Kettle 連接 Oracle 使用手冊 及 問題解決方案


版本信息

Oracle: 19c
Kettle: pdi-ce-9.2.0.0
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)

Kettle介紹:Link

基本概念:

1.Transformation:定義對數據操作的容器,數據操作就是數據從輸入到輸出的一個過程,可以理解為比Job粒度更小一級的容器,我們將任務分解成Job,然后需要將Job分解成一個或多個Transformation,每個Transformation只完成一部分工作
(定義對數據操作的容器,數據操作就是數據從輸入到輸出的一個過程,可以理解為比作業粒度更小一級的容器,我們將任務分解成作業,然后需要將作業分解成一個或多個轉換,每個轉換只完成一部分工作)
2.Step:是Transformation內部的最小單元,每一個Step完成一個特定的功能。
3.Job:負責將Transformation組織在一起進而完成某一工作,通常我們需要把一個大的任務分解成幾個邏輯上隔離的Job,當這幾個Job都完成了,也就說明這項任務完成了
(負責將[轉換]組織在一起進而完成某一塊工作,通常我們需要把一個大的任務分解成幾個邏輯上隔離的作業,當這幾個作業都完成了,也就說明這項任務完成了)
4.Job Entry:Job Entry是Job內部的執行單元,每一個Job Entry用於實現特定的功能,如:驗證表是否存在,發送郵件等。可以通過Job來執行另一個Job或者Transformation,也就是說Transformation和Job都可以作為Job Entry
5.Hop:用於在Transformation中連接Step,或者在Job中連接Job Entry,是一個數據流的圖形化表示
  在Kettle中Job中的JobEntry是串行執行的,故Job中必須有一個Start的JobEntry;Transformation中的Step是並行執行的

概念模型

1.需要安裝Java-Jdk設置環境變量:KETTLE_HOME

2.下載Kettle程序:Link,不需要安裝,解壓點擊 Spoon.bat 運行程序

3.使用

3.1. Kettle 連接 Oracle 
3.1.1. Kettle 連接 Oracle 驅動:Driver class 'oracle.jdbc.driver.OracleDriver' could not be found 3.2. Kettle 加密字符串
3.3. Kettle 使用變量
3.4. Kettle 創建轉換[Transformation]和定時任務[Job]
3.5. Kettle 讀取Excel中的數據保存到Oracle
3.5.1. Kettle Excel導入增加常量【增加列】
3.5.2. kettle的轉換組件
3.6. Kettle 自動調度,通過腳本運行轉換[Transformation]和定時任務[Job]

9.異常

9.1.ORA-28040: No matching authentication protocol

原因:Oracle連接客戶端與服務端Oracle的版本不匹配造成的,可使用 3.1.1方法 解決,也可以點擊3.1.1的鏈接下載包替換【對應關系不清楚,我試過還是同樣的錯誤】

9.2.ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

方法:DatabaseName的值為 ServerName,前面需要加 “/

9.3.啟動時提示:could not create the java virtual machine

9.3.1.並不是java虛擬機出了問題,需要修改下的spoon.bat里內存配置

if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms2058m" "-Xmx1024m"
改為
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx512m"
如果電腦內存小於4G,建議可以再小一些

9.3.2.如果啟動繼續報錯,"A java exception has occurred" ,可以考慮下載的Kettle版本是否與你JDK匹配

9.4.點擊“Test”按鈕,沒有任何響應

原因:jdbc 和 Kettle 版本不匹配,按照 3.1方法就能處理

 

9.9.更多異常參考: Link

 

Reference:

Kettle9.0 簡單入門

Kettle — 使用手冊

kettle使用教程(超詳細)

通過Kitchen和Pan以命令行方式執行kettle的Job和Transformation

kettle的基礎概念入門、下載、安裝、部署

分類:kettle異常


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM