kettle通過命令列引數傳遞資料庫連線資訊
在用kettle進行資料庫資料同步時,需要設定資料庫連線資訊,但是一般開發環境和生產環境資料庫不一樣,如果在開發階段把資料庫連線資訊寫死,那麼在生產環境部署時又要重新開啟.krt或.kjb檔案重新編輯資料庫連線資訊。解決方法是資料庫連線資訊可以通過命令列引數傳入,這樣只需要在啟動時改變一下引數就可以了。下面以配置一個簡單的表輸入為例來說明。
新建一個轉換,資料庫連線資訊設定如下,注意我們都是用的變數,沒有寫死資料庫連線資訊。這裡說個小插曲,如果我們定義的資料庫連線沒有在轉換中用到,那麼下次開啟檔案的時候這個定義的資料庫連線就會消失,不得不吐槽這設計。。。
接下來我們定義一個轉換,隨便從資料庫查點什麼。
接下來在檔案空白處右鍵,選擇“轉換設定”,在命名引數標籤下設定我們剛才用到的4個引數。這個引數還可以設定預設值,也就是我們在命令列不指定引數值時會用預設值,我這裡就先不設定了。
以上都設定好後,儲存檔案,然後輸入如下命令執行即可將引數傳入.ktr檔案中進行使用。這裡為了後期方便修改引數值,我設定了一些bat相關的變數。命令列有一個地方一定要注意,/param:"xxx=xxx"這裡的雙引號不能省略,我就在這裡踩坑了,不加雙引號引數是傳遞不了的。
:: kettle軟體安裝路徑
set kettlePath=E:\zzj\apps\data-integration
:: *.kjb檔案存放路徑
set jobPath=E:\zzj\javaweb\ETL
:: 資料庫連線url
set dbUrl=localhost
:: 資料庫名
set dbName=mybatis
:: 資料庫連線使用者名稱
set dbUsername=root
:: 資料庫連線密碼
set dbPassword=123456
%kettlePath%\pan /file %jobPath%\test.ktr /param:"db_url=%dbUrl%" /param:"db_name=%dbName%" /param:"db_username=%dbUsername%" /param:"db_password=%dbPassword%"
執行成功
相關文章
- Kettle資料庫資源庫連線執行示例資料庫
- 通過觸發器記錄資料庫連線資訊觸發器資料庫
- 從request中傳遞過來的引數資訊
- Day18--命令列傳遞引數命令列
- Kettle自定義資料庫連線型別連線HGDB資料庫型別
- Java方法04:命令列傳遞引數、可變引數Java命令列
- 1.3.3. 通過SQL*Plus 連線資料庫SQL資料庫
- root 使用者通過 sqlplus 連線資料庫SQL資料庫
- 通過行為引數化傳遞程式碼
- kettle資源庫連線失效不見了
- 資料庫的連線數資料庫
- pytest的資料驅動和引數傳遞
- Java的JDBC通過SSH Tunnel連線MySQL資料庫JavaJDBCMySql資料庫
- MySql連線資料庫常用引數及程式碼示例MySql資料庫
- Kettle8.2連線Oracle資料庫失敗解決方法Oracle資料庫
- 資料庫的連線過程資料庫
- 檢視mysql資料庫連線數、併發數相關資訊MySql資料庫
- Kettle 從資料庫讀取資料存到變數中資料庫變數
- 1.6.5.2. 通過密碼檔案驗證連線資料庫密碼資料庫
- PHP擴充套件資料庫連線引數說明詳解PHP套件資料庫
- 用Navicat連線資料庫-資料庫連線(MySQL演示)資料庫MySql
- netstat -s命令 引數 列出各種網路協議的統計資料,包括接收和傳送的資料包數量、錯誤資訊、連線狀態等協議
- 深入解析React資料傳遞之元件內部通訊React元件
- 連線資料庫資料庫
- 引數傳遞
- gsql是openGauss提供在命令列下執行的資料庫連線工具SQL命令列資料庫
- 【YashanDB資料庫】PHP無法透過ODBC連線到資料庫資料庫PHP
- 通過本地直接連線linux伺服器的mysql資料庫Linux伺服器MySql資料庫
- c++ -- 二維陣列引數傳遞C++陣列
- 雲端計算學習路線課程大綱資料:引數傳遞 Xargs
- springboot websocket叢集(stomp協議)連線時候傳遞引數Spring BootWeb協議
- 資料庫連線池-Druid資料庫連線池原始碼解析資料庫UI原始碼
- liunx通過TCP傳送資訊TCP
- perl程式透過gccli命令列工具連線GBase南大通用分析型資料庫叢集的方法GC命令列資料庫
- C#連線Oracle資料庫,通過EF自動生成與資料庫表相關的實體類C#Oracle資料庫
- 12、利用 DNS 隧道傳遞資料和命令來繞過防火牆DNS防火牆
- JDBC連線資料庫JDBC資料庫
- 連線資料庫-mysql資料庫MySql