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%"
執行成功
相關文章
- 通過cmd命令列連線mysql資料庫命令列MySql資料庫
- 通過命令列連線oracle資料庫/進入sql plus命令列Oracle資料庫SQL
- 通過Java程式測試資料庫連線資訊Java資料庫
- 通過連線檢視資料庫相關資訊資料庫
- Java方法04:命令列傳遞引數、可變引數Java命令列
- Day18--命令列傳遞引數命令列
- 通過觸發器記錄資料庫連線資訊觸發器資料庫
- Kettle自定義資料庫連線型別連線HGDB資料庫型別
- 從request中傳遞過來的引數資訊
- Kettle資料庫資源庫連線執行示例資料庫
- 通過行為引數化傳遞程式碼
- 命令列CALL程式時傳遞數字引數總結(轉)命令列
- jdbctemplate呼叫儲存過程傳遞陣列引數JDBC儲存過程陣列
- 為SQL Server資料庫傳陣列引數的變通辦法SQLServer資料庫陣列
- SQL 記錄資料庫連線數資訊SQL資料庫
- php連結中加引數傳遞PHP
- 1.3.3. 通過SQL*Plus 連線資料庫SQL資料庫
- Qt中通過ODBC連線MSSQL資料庫QTSQL資料庫
- 獲取位址列url連結?後面傳遞的引數
- ssh埠轉發(之kettle ssh方式連線資料庫)資料庫
- 引數傳遞
- kettle資源庫連線失效不見了
- JDBC連線資料庫時,Oracle9i的連線引數配置JDBC資料庫Oracle
- c++ -- 二維陣列引數傳遞C++陣列
- Shell自學二(引數傳遞和陣列)陣列
- PHP通過傳遞物件引數呼叫asp.netWebservice服務PHP物件ASP.NETWeb
- Java的JDBC通過SSH Tunnel連線MySQL資料庫JavaJDBCMySql資料庫
- mysql--通過cmd連線mysql,並建立資料庫MySql資料庫
- MySql連線資料庫常用引數及程式碼示例MySql資料庫
- 資料庫的連線數資料庫
- Kettle8.2連線Oracle資料庫失敗解決方法Oracle資料庫
- 檢視mysql資料庫連線數、併發數相關資訊MySql資料庫
- JNI傳遞引數
- Mybatis引數傳遞MyBatis
- js取得通過網址傳遞的引數值例項程式碼JS
- [MVC]通過ViewData傳遞列表給JavaScript陣列MVCViewJavaScript陣列
- 資料庫的連線過程資料庫
- root 使用者通過 sqlplus 連線資料庫SQL資料庫