簡體   English   中英

使用Pentaho中的變量為兩個不同的數據集定義數據庫連接

[英]Define Database connection for two different datasets using variables in Pentaho

我需要使用比較這些數據集的變量連接到兩個不同的數據集。 我正在使用兩個不同的表輸入步驟,其中數據庫連接名,主機名是硬編碼的。 我不想使用硬編碼,而是要使用定義這些連接並且應該能夠連接到它們的變量 在此處輸入圖片說明

您可以在.kettle目錄中的kettle.properties文件中定義變量。 然后,您可以在數據庫連接設置中使用這些變量。

您還可以在自己的.properties文件中定義變量,並使用“設置變量”作業條目讀取它們。

將變量設置為:

db_name.host=localhost
db_name.db=databasename
db_name.user=username

然后使用${db_name.host}等格式訪問作業/轉換中的那些變量。

使用JNDI設置所有連接參數:

(1)編輯文件: data-integration/simple-jndi/jdbc.properties ,並添加數據庫連接字符串,例如:

db1/type=javax.sql.DataSource
db1/driver=com.mysql.jdbc.Driver
db1/url=jdbc:mysql://127.0.0.1:3305/mydb
db1/user=user1
db1/password=password1 
db2/type=javax.sql.DataSource
db2/driver=com.mysql.jdbc.Driver
db2/url=jdbc:mysql://mydbserver:3306/mydb
db2/user=user2
db2/password=password2 

在這里,我們創建了兩個JNDI名稱db1db2 ,可以在PDI作業/轉換中使用它們。

(2)在您的PDI作業/轉換中,通過菜單“編輯”-> Settings... ”-> Settings... Parameters選項卡添加參數,即mydb 如果使用多個數據庫參數,則可以添加更多這樣的數據庫參數。

(3)在“ Table Input步驟中,單擊“ Edit...或“ New..按鈕,然后在出現的對話框中,將“ Access:框中的項目切換為JNDI ,然后在上方的JNDI name中添加$ {mydb}。右上角。 您還可以使用我們在(1)中定義的純文本db1db2來標識數據庫連接。

使用JNDI來管理數據庫連接,我們只需使用參數就可以在登台數據庫和生產數據庫之間進行切換。 您可以執行與PRD類似的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM